在C#中向数据库发出结束收据(String)

时间:2016-02-13 06:10:27

标签: c# sql-server

我正在尝试从我的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)。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

Transaction是sql中的关键字。围绕着这个括号。

Insert into [dbo].[Transaction] values (@inReceipt)