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也的确获得了我修改后的值,可为什么数据库却没有实现修改呢? 展开
{
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也的确获得了我修改后的值,可为什么数据库却没有实现修改呢? 展开
3个回答
展开全部
字符串的最后没有分号“;”
在conn打开的时候,sql字符串是sql语句,必须是完整的语句。仔细看看,语句是不是没有分号";"结尾。
应该watch下string sql。
在conn打开的时候,sql字符串是sql语句,必须是完整的语句。仔细看看,语句是不是没有分号";"结尾。
应该watch下string sql。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你的条件,where 标签号 = 'cardname'",数据库里的卡号字段的值有叫cardname的吗?应该是2028123444或a123等类似的值吧。
如果查询没有发现符合条件的记录,返回值也是0.
如果查询没有发现符合条件的记录,返回值也是0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询