C# 自动递增日期+;在数据库上使用多个插入行1天

C# 自动递增日期+;在数据库上使用多个插入行1天,c#,visual-studio-2013,ms-access-2010,C#,Visual Studio 2013,Ms Access 2010,我是C#的新手,目前正在使用VS 2013和access数据库,我试图插入多条记录,但我的问题是我想插入datetime picker选择插入的日期的值,它是一天自动递增的。我试图根据我学到的知识编写代码。它有一个小问题 在我的数据库中,我想使用for循环插入10条多条记录,而在我的尝试中发生的就是这一条 EID date --------------- 10175 10/9/14 10175 10/9/14 10175 10/9/14 10175 10/9/14 101

我是C#的新手,目前正在使用VS 2013和access数据库,我试图插入多条记录,但我的问题是我想插入datetime picker选择插入的日期的值,它是一天自动递增的。我试图根据我学到的知识编写代码。它有一个小问题

在我的数据库中,我想使用for循环插入10条多条记录,而在我的尝试中发生的就是这一条

EID     date
---------------
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
10175   10/9/14
我想发生的是:

EID     date
----------------
10175   10/9/14
10175   10/10/14
10175   10/11/14
10175   10/12/14
10175   10/13/14
10175   10/14/14
10175   10/15/14
10175   10/16/14
10175   10/17/14
10175   10/18/14
这是我的代码,顺便说一下,我的EID不是主要的,所以我不介意重复

connection.Open();

OleDbCommand command = new OleDbCommand();
command.Connection = connection;

int ctr = 0;
int counter;
counter =int.Parse(TimeIntxt.Text);
String counter2;

for (ctr=0; ctr<10;ctr++ )
{
    counter++;
    counter2 = dateTimePicker1.Value.AddDays(1).ToString();

    command.CommandText = "insert into EmployeeData (EID,DateIn) values('" + counter + "','" + counter2 + "')";
    command.ExecuteNonQuery();
}

MessageBox.Show("Success");
connection.Close();
connection.Open();
OLEDBCOMAND命令=新的OLEDBCOMAND();
command.Connection=连接;
int ctr=0;
整数计数器;
计数器=int.Parse(TimeIntxt.Text);
串计数器2;

对于(ctr=0;ctr这行代码
counter2=dateTimePicker1.Value.AddDays(1.ToString();
应该是
counter2=dateTimePicker1.Value.AddDays(ctr+1.ToString();

另外,虽然在您的情况下这并不重要,但最好使用参数化查询,而不是通过连接生成命令,这有助于防止sql注入


有关命令参数及其使用方法的参考,请参阅。

counter2=dateTimePicker1.Value.AddDays(ctr+1.ToString();