我正在尝试从我的C#程序中将字符串类型的收据添加到我的SQL Server数据库中,但是我得到了一个例外:
System.Data.dll中出现未处理的“System.Data.SqlClient.SqlException”类型异常
其他信息:关键字“交易”附近的语法不正确。“
它在cmd.ExecuteNonQuery()
崩溃了。
这是我的数据库类中的代码:
SqlConnection conn = new SqlConnection();
conn.ConnectionString = connectionString;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Insert into Transaction values (@inReceipt)";
//cmd.Parameters.Add("@inDateTime", SqlDbType.DateTime);
cmd.Parameters.Add("@inReceipt", SqlDbType.VarChar, 8000);
//cmd.Parameters.Add("@inTotalCost", SqlDbType.Float);
//cmd.Parameters["@inDateTime"].Value = dt;
cmd.Parameters["@inReceipt"].Value = receipt;
//cmd.Parameters["@inTotalCost"].Value = totalCost;
SqlDataAdapter da = new SqlDataAdapter();
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
return cmd;
我的代码在表单类中:
for (int i = 0; i < chkoutNameArr.Length; i++)
{
receipt += chkoutNameArr[i].ToString() + " (x" + chkoutQtyArr[i].ToString() + ") - $" + chkoutPriceArr[i] + " each\r\n" ;
}
receipt += "Discount given: " + discountPercentage + "%\r\n";
receipt += "Payment made using " + " card XXXX-XXXX-XXXX-" + txtBoxSetFour.Text;
MessageBox.Show(receipt);
db.addTransactionToDb(receipt);
在我的数据库中,我有一个名为“收据”的参数,带有VarChar(8000)。
有人可以帮忙吗?
答案 0 :(得分:0)
Transaction
是sql中的关键字。围绕着这个括号。
Insert into [dbo].[Transaction] values (@inReceipt)