',',

时间:2017-06-02 10:28:59

标签: c#

我正在尝试将数据添加到数据库中。当我在保存按钮方法中运行代码时,会弹出上述错误。

        try
        {
            string constr = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Noah\Desktop\vs13\Project\JW_Accounting_Appliction\JW_Accounting_App\myDatabase.mdf;Integrated Security=True";
            SqlConnection conn = new SqlConnection(constr); //connects to regstration DB//
            conn.Open(); //to open connection to DB
            String insertQuery = "insert into AccountReceipt(TNo.,[Date], [WorldWide], [Local], [sumWW_Local]) values (@TNo., @Date, @WorldWide, @Local, @sumWW_Local)"; // inserts into table and declares data as variables// 
            SqlCommand com = new SqlCommand(insertQuery, conn);
            com.Parameters.AddWithValue("@TNo.", textBox1.Text);
            com.Parameters.AddWithValue("@Date", pickerDate.Text);
            com.Parameters.AddWithValue("@WorldWide", txtWorldWide.Text);
            com.Parameters.AddWithValue("@Local", txtLocal.Text);
            com.Parameters.AddWithValue("@sumWW_Local", txtTotal.Text);


            com.ExecuteNonQuery();
            MessageBox.Show("Thank you, Your registration has been successfull!");
            conn.Close();
        }
        catch (SqlException ex)
        {
            MessageBox.Show(ex.Message);
        }

2 个答案:

答案 0 :(得分:2)

赞赏参数化的使用,但您也必须关注命名约定。这里的问题是列名TNo.,请将其括在[]内,即。

 "insert into AccountReceipt([TNo.] .. // rest of codce)

无论如何TNo.对于列来说不是一个好名字,请尝试遵循一些好的命名约定

答案 1 :(得分:0)

不要在列名和参数中使用否。

insert into AccountReceipt([TNo.],[Date], [WorldWide], [Local], [sumWW_Local]) values (@TNo, @Date, @WorldWide, @Local, @sumWW_Local)

com.Parameters.AddWithValue("@TNo", textBox1.Text);