我试过了,但只插入了第一条记录,其他记录没有插入 71 条记录。插入第二个循环时发生错误。
for (int i = 0; i <= dtRaffleEntries.Rows.Count - 1; i++)
{
for (int c = 0; c <= Convert.ToInt32(dtRaffleEntries.Rows[i]["RaffleEntries"].ToString()) - 1; c++)
{
errorline = dtRaffleEntries.Rows[i]["ORNumber"].ToString(); //FLR
sbRaffleEntries.Append("INSERT INTO `tblraffleentry` ");
sbRaffleEntries.Append("(");
sbRaffleEntries.Append("`PromoCode`,`TransactionAmount`,");
sbRaffleEntries.Append("`TransactionDate`,`TransactionTime`,");
sbRaffleEntries.Append("`CardName`,`CardNumber`,");
sbRaffleEntries.Append("`BUCode`,`StationName`,");
sbRaffleEntries.Append("`MerchantID`,`TerminalID`,");
sbRaffleEntries.Append("`ORNumber`,`Remarks`,");
sbRaffleEntries.Append("`CreatedBy`,`DateCreated`,");
sbRaffleEntries.Append("`DateUpdated`,`filename`");
sbRaffleEntries.Append(")");
sbRaffleEntries.Append(" VALUES");
sbRaffleEntries.Append("(?,?,CONVERT(?,DATETIME),CONVERT(?,DATETIME),?,?,?,?,?,?,?,?,?,CONVERT(?,DATETIME),CONVERT(?,DATETIME),?) ");
insertRaffleEntries.Parameters.AddWithValue("PromoCode", RafflePromoCode);
insertRaffleEntries.Parameters.AddWithValue("TransactionAmount", dtRaffleEntries.Rows[i]["TransactionAmount"].ToString());
insertRaffleEntries.Parameters.AddWithValue("TransactionDate", Convert.ToDateTime(dtRaffleEntries.Rows[i]["TransactionDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"));
insertRaffleEntries.Parameters.AddWithValue("TransactionTime", Convert.ToDateTime(dtRaffleEntries.Rows[i]["TransactionTime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"));
insertRaffleEntries.Parameters.AddWithValue("CardName", dtRaffleEntries.Rows[i]["CardName"].ToString());
insertRaffleEntries.Parameters.AddWithValue("CardNumber", dtRaffleEntries.Rows[i]["CardNumber"].ToString());
insertRaffleEntries.Parameters.AddWithValue("BUCode", dtRaffleEntries.Rows[i]["BUCode"].ToString());
insertRaffleEntries.Parameters.AddWithValue("StationName", dtRaffleEntries.Rows[i]["StationName"].ToString());
insertRaffleEntries.Parameters.AddWithValue("MerchantID", dtRaffleEntries.Rows[i]["MerchantID"].ToString());
insertRaffleEntries.Parameters.AddWithValue("TerminalID", dtRaffleEntries.Rows[i]["TerminalID"].ToString());
insertRaffleEntries.Parameters.AddWithValue("ORNumber", dtRaffleEntries.Rows[i]["ORNumber"].ToString());
insertRaffleEntries.Parameters.AddWithValue("Remarks", " ");
insertRaffleEntries.Parameters.AddWithValue("CreatedBy", UserName.ToString());
insertRaffleEntries.Parameters.AddWithValue("DateCreated", dateTimeNow.ToString("yyyy-MM-dd HH:mm:ss"));
insertRaffleEntries.Parameters.AddWithValue("DateUpdated", dateTimeNow.ToString("yyyy-MM-dd HH:mm:ss"));
insertRaffleEntries.Parameters.AddWithValue("filename", filename);
insertRaffleEntries.CommandText = sbRaffleEntries.ToString();
insertRaffleEntries.ExecuteNonQuery();
count++
}
count2++;
backgroundWorker1.ReportProgress(((int)((double)(i + 1) / dtRaffleEntries.Rows.Count * 100)), CompleteText);
}
错误说它是 mysql 语法,但我检查它是否正确并成功执行第一个循环。在第二个循环中出错,依此类推。