根据您的代码,您无需将 delete 语句放在 for 循环中。 您可以直接使用delete sql删除满足条件的记录。 然后,可以使用 for 循环插入从 dateTimePicker1 到 dateTimePicker2 的记录。 请注意,您需要使用 betwee 运算符在“sqlDelete”中选择给定范围内的值。 下面是一个测试代码示例,您可以参考。
private void button1_Click(object sender, EventArgs e)
{
using (OdbcConnection Cn = new OdbcConnection(connectionString)) //Access database
{
string sqlDelete = "DELETE FROM Table1 WHERE Name = '" + textBox1.Text + "' And Field2 BETWEEN '" + dateTimePicker1.Value.Date + "' AND '" + dateTimePicker2.Value.Date + "'";
OdbcCommand cmdDelete = new OdbcCommand(sqlDelete, Cn);
Cn.Open();
int i = cmdDelete.ExecuteNonQuery();
//You can also check if the delete statement is executed successfully with the "i"
//if (i>0)
//{
// MessageBox.Show("delete successfully");
//}
for (DateTime dt = dateTimePicker1.Value.Date; dt <= dateTimePicker2.Value.Date; dt = dt.AddDays(1))
{
string sqpInsert = "INSERT INTO Table1(Name, Field2, Field1) Values ('" + textBox2.Text + "', '" + dt.Date + "', '" + textBox3.Text + "')";
OdbcCommand cmdInsert = new OdbcCommand(sqpInsert, Cn);
cmdInsert.ExecuteNonQuery();
}
}
}
如果回复有帮助,请点击“接受答案”并点赞。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。