繁体   English   中英

System.Data.SqlClient.SqlException: ')'.'sql 附近的语法不正确

[英]System.Data.SqlClient.SqlException: 'Incorrect syntax near ')'.'sql

string mainconn = ConfigurationManager.ConnectionStrings["Myconnection"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(mainconn);
string sqlquery = "insert into [signup] values (@charactername,@characterid,@email,@phonenumber,)";
sqlconn.Open();
SqlCommand cmd = new SqlCommand(sqlquery, sqlconn);
cmd.Parameters.AddWithValue("@charactername", txtcharactername.Text);
cmd.Parameters.AddWithValue("@characterid", txtcharacteid.Text);
cmd.Parameters.AddWithValue("@email", txtemail.Text);
cmd.Parameters.AddWithValue("@phonenumber", txtphonenumber.Text);
cmd.ExecuteNonQuery(); // <-- Error in this line
labmsg.Text = "User " + txtcharactername.Text + " is successfully registered";
sqlconn.Close();

当程序尝试执行cmd.ExecuteNonQuery(); 我收到以下错误:

System.Data.SqlClient.SqlException: ')'.'sql 附近的语法不正确

你有一个流浪者,在你的@phonenumber参数之后,你需要删除它,因为它在那里没有任何意义。

string sqlquery = "insert into [signup] values (@charactername,@characterid,@email,@phonenumber,)";
                                                                                           ^^

虽然直接指定类型并使用 Value 属性比 AddWithValue 更好:

cmd.Parameters.Add("@phonenumber", SqlDbType.VarChar).Value = txtphonenumber.Text;

我们可以停止使用 AddWithValue() 了吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM