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

privatevoidbuttonsave_Click(objectsender,EventArgse){conn=newSqlConnection(connString... 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也的确获得了我修改后的值,可为什么数据库却没有实现修改呢?
展开
 我来答
libinhao1111
2013-03-13 · TA获得超过1013个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:551万
展开全部
string sql = " Update card1 set 姓名= 'name' where 标签号 = 'cardname'";

name 和 cardname 是单引号?
改成
string sql = " Update card1 set 姓名= '“ + name + "' where 标签号 = '" + cardname + "'";
琐碎碎琐琐碎碎
2013-03-13 · TA获得超过476个赞
知道小有建树答主
回答量:535
采纳率:0%
帮助的人:417万
展开全部
字符串的最后没有分号“;”
在conn打开的时候,sql字符串是sql语句,必须是完整的语句。仔细看看,语句是不是没有分号";"结尾。
应该watch下string sql。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-03-13 · TA获得超过2184个赞
知道小有建树答主
回答量:631
采纳率:100%
帮助的人:636万
展开全部
看你的条件,where 标签号 = 'cardname'",数据库里的卡号字段的值有叫cardname的吗?应该是2028123444或a123等类似的值吧。
如果查询没有发现符合条件的记录,返回值也是0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式