我是来自C#的全新手,我目前正在使用VS 2013和访问数据库而且我试图插入多条记录,但我的问题是我要插入所选日期的值通过日期时间选择器插入,它是一天自动增量..我试图根据我学到的东西制作代码..它有一个小问题
在我的数据库中我想使用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();
答案 0 :(得分:2)
您的代码counter2 = dateTimePicker1.Value.AddDays(1).ToString();
的这一行应为counter2 = dateTimePicker1.Value.AddDays(ctr + 1).ToString();
另外 - 虽然在你的情况下它不是很重要,但是使用参数化查询而不是通过连接构建命令会更好,这有助于防止sql注入。
有关命令参数及其使用方法的参考,请参阅MSDN。