C#更新数据库程序运行无错,sql语句是没错,可为什么执行cmd.ExecuteNonQuery()返回的值是0?哪里出错了

private void buttonsave_Click(object sender, EventArgs e)
{
conn = new SqlConnection(connString);
conn.Open();
MessageBox.Show("数据库打开成功");
string name = dataGridView1.SelectedRows[0].Cells["姓名"].Value.ToString();
string cardname= dataGridView1.SelectedRows[0].Cells["标签号"].Value .ToString ();
string sql = " Update card1 set 姓名= 'name' where 标签号 = 'cardname'";
SqlCommand cmd = new SqlCommand(sql,conn );
int i= cmd.ExecuteNonQuery();
MessageBox.Show(" 修改成功");
}
因为程序执行无错,我用断点调试,程序执行完 cmd.ExecuteNonQuery()返回的值为0,这是怎么回事?sql语句在sql数据库单独执行是成功的,name和cardname也的确获得了我修改后的值,可为什么数据库却没有实现修改呢?

string sql = " Update card1 set 姓名= 'name' where 标签号 = 'cardname'";

name 和 cardname 是单引号?
改成
string sql = " Update card1 set 姓名= '“ + name + "' where 标签号 = '" + cardname + "'";
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-13
字符串的最后没有分号“;”
在conn打开的时候,sql字符串是sql语句,必须是完整的语句。仔细看看,语句是不是没有分号";"结尾。
应该watch下string sql。
第2个回答  2013-03-13
看你的条件,where 标签号 = 'cardname'",数据库里的卡号字段的值有叫cardname的吗?应该是2028123444或a123等类似的值吧。
如果查询没有发现符合条件的记录,返回值也是0.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网