我将一些数据从一个文件插入另一个文件,第一个文件有三个 不同的值记录,当循环完成时,当我看到第二个文件它有三个记录但重复具有相同的值时,你能帮我解决我的代码有什么问题。
从旧文件循环到新文件
foreach (DataRow drtableOld in orderTable.Rows)
{
command.CommandType = CommandType.Text;
command.CommandText = "insert into Data ([Terminal],[Token_no],[Date],[Time],[Mode]) values(?,?,?,?,?)";
command.Parameters.AddWithValue("@cTerminal", drtableOld["Terminal"]);
command.Parameters.AddWithValue("@cToken", drtableOld["Token"].ToString().PadLeft(6,'0') );
command.Parameters.AddWithValue("@cDate", drtableOld["Date"]);
command.Parameters.AddWithValue("@cTime", drtableOld["Time"]);
command.Parameters.AddWithValue("@cMode", "T");
command.Connection = yourConnectionHandler;
command.ExecuteNonQuery();
}
答案 0 :(得分:2)
您需要在循环开始时清除参数或创建新命令。您还可以将赋值移动到循环外的连接,因为您正在循环中重用该命令。
command.Connection = yourConnectionHandler;
foreach (DataRow drtableOld in orderTable.Rows)
{
command.Parameters.Clear();
// rest of code unchanged