C#用sqlcommand删除数据库中的某一行始终出错。

string str = dataGridView1.SelectedCells[0].Value.ToString();
string sql = "delete * from ID where Ls='"+str+"'";
string consqlserver = "Data Source=.;Initial Catalog=student;Integrated Security=True;";
SqlConnection con = new SqlConnection(consqlserver);
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
报错为cmd.ExcecuteNonQuery()附近有语法错误!
数据库中的Id是int,我也尝试过把Str转化成int。但还是报这个错误。

string sql = "delete * from ID where Ls='"+str+"'";
其实是多了一个*号,你把*号删掉应该就OK了。
string sql = "delete from ID where Ls='"+str+"'";

另外,如楼上所说,有可能ID和Ls弄反了。追问

大哥,你太猛了!能不能再请教一下。我删除后datagardview数据如何更新。

追答

再读取一下数据库,然后再绑定一次就OK了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-18

只是猜想:你把表名与列名写反了,改成下面试试

string sql = "delete * from Ls where ID ='" + "str" + "'";

追问

是多了一个* 号

追答

哦,还没注意到是delete。

相似回答