![](/img/trans.png)
[英]How to fix Messagebox popping twice and the error on ExecuteNonQuery
[英]How to fix ExecuteNonQuery error
在ExecuteNonQuery
上拋出異常,我該如何解決?
string sqlQuery = "INSERT INTO transaction(ID,item_name,quantity,price,T_date) values (?,?,?,?,?)";
using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\KCdb.accdb"))
using (OleDbCommand cmd = new OleDbCommand(sqlQuery, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@ID", id);
cmd.Parameters.AddWithValue("@item_name", item.ToString());
cmd.Parameters.AddWithValue("@quantity", quantity);
cmd.Parameters.AddWithValue("@price", price);
cmd.Parameters.AddWithValue("@T_date", dt.ToString());
cmd.ExecuteNonQuery();
}
為了指導你,我們需要例外,因為會有不同的失敗原因。 但是正如我在您的代碼中看到的那樣,在為參數分配值時有一些強制轉換,當您的參數是 DateTime 類型時,您應該將 DateTime 作為其值而不是字符串傳遞。 所以我認為你應該改變cmd.Parameters.AddWithValue("@T_date", dt.ToString());
到cmd.Parameters.AddWithValue("@T_date", dt);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.