Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Windows服务用电子邮件填充数据库?_C#_Database_Email_Windows Services - Fatal编程技术网

C# 如何使用Windows服务用电子邮件填充数据库?

C# 如何使用Windows服务用电子邮件填充数据库?,c#,database,email,windows-services,C#,Database,Email,Windows Services,我正在寻找用我的电子邮件收件箱填充Microsoft Sql Server数据库的代码,我希望它由Windows服务完成,这样用户就不会知道发生了什么 如何让windows服务填充数据库 我的数据库叫做Email_Log, 带表格: 电子邮件地址 埃图 来自 大学科目 e_日期 我的插入代码看起来像 INSERT INTO Email_Log (Email_ID, e_To, e_From, e_Subject, e_Date) VALUES (Data, data, data, data, d

我正在寻找用我的电子邮件收件箱填充Microsoft Sql Server数据库的代码,我希望它由Windows服务完成,这样用户就不会知道发生了什么

如何让windows服务填充数据库

我的数据库叫做Email_Log, 带表格: 电子邮件地址 埃图 来自 大学科目 e_日期

我的插入代码看起来像

INSERT INTO Email_Log
(Email_ID, e_To, e_From, e_Subject, e_Date)
VALUES
(Data, data, data, data, data)
我以前使用OpenPop创建Web服务来检索邮件,所以我知道如何做,我的windows服务经验是。。。没有,数据库也很少

我正在寻找一些关于如何做到这一点的示例代码?或者一些有用的链接到做过类似事情的景点。我在网上查过,在我想做的事情上找不到任何帮助。我只需要一个推启动。下面的例子是最好的开始方式。

  • 用于在.NET=>中编写Windows服务
  • 用于访问.NET中的SQL数据库=>
例如,下面是使用普通ADO.NET的示例
INSERT
查询的外观:

using (var conn = new SqlConnection("your connection string to the database"))
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = 
        @"
        INSERT INTO Email_Log
        (Email_ID, e_To, e_From, e_Subject, e_Date)
        VALUES
        (@id, @to, @from, @subject, @date)
        ";
    cmd.Parameters.AddWithValue("@id", 123);
    cmd.Parameters.AddWithValue("@to", "foo@bar.com");
    cmd.Parameters.AddWithValue("@from", "baz@boo.com");
    cmd.Parameters.AddWithValue("@subject", "some subject");
    cmd.Parameters.AddWithValue("@date", DateTime.Now);
    cmd.ExecuteNonQuery();
}
  • 用于在.NET=>中编写Windows服务
  • 用于访问.NET中的SQL数据库=>
例如,下面是使用普通ADO.NET的示例
INSERT
查询的外观:

using (var conn = new SqlConnection("your connection string to the database"))
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = 
        @"
        INSERT INTO Email_Log
        (Email_ID, e_To, e_From, e_Subject, e_Date)
        VALUES
        (@id, @to, @from, @subject, @date)
        ";
    cmd.Parameters.AddWithValue("@id", 123);
    cmd.Parameters.AddWithValue("@to", "foo@bar.com");
    cmd.Parameters.AddWithValue("@from", "baz@boo.com");
    cmd.Parameters.AddWithValue("@subject", "some subject");
    cmd.Parameters.AddWithValue("@date", DateTime.Now);
    cmd.ExecuteNonQuery();
}

您使用的是哪种电子邮件收件箱?交换/展望?还是别的什么?你应该把你的问题分为:首先读取电子邮件,将一些数据写入数据库,创建windows服务,然后将它们集成在一起。Gmail,是的,我想我首先让我的服务接收我要首先填充数据库的值。那么离开DB的人口应该排在最后?我还不必担心这个?我害怕我错过了步骤。在windows服务中,我将把代码放在哪里来检索电子邮件值。我会把它放在事件日志里吗?你用的是哪种邮箱?交换/展望?还是别的什么?你应该把你的问题分为:首先读取电子邮件,将一些数据写入数据库,创建windows服务,然后将它们集成在一起。Gmail,是的,我想我首先让我的服务接收我要首先填充数据库的值。那么离开DB的人口应该排在最后?我还不必担心这个?我害怕我错过了步骤。在windows服务中,我将把代码放在哪里来检索电子邮件值。我会把它放在事件日志中吗?好的,好的,看起来不错,好的,我将尝试开始让我的服务用正确的信息填充((at)id,(at)to,(at)from,(at)subject,(at)date)。非常感谢:如何获取连接字符串?您可以将其放在app.config文件的中,然后使用
ConfigurationManager.ConnectionStrings[“MyDb”]检索它。ConnectionString
其中
MyDb
是用于在配置文件中存储连接字符串的键。好的,是的,看起来不错,好的,我将尝试开始让我的服务使用正确的信息填充((at)id,(at)to,(at)from,(at)subject,(at)date)。非常感谢:如何获取连接字符串?您可以将其放在app.config文件的中,然后使用
ConfigurationManager.ConnectionStrings[“MyDb”]检索它。ConnectionString
其中
MyDb
是用于在配置文件中存储连接字符串的密钥。