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也的确获得了我修改后的值,可为什么数据库却没有实现修改呢?
name 和 cardname 是单引号?
改成
string sql = " Update card1 set 姓名= '“ + name + "' where 标签号 = '" + cardname + "'";
在conn打开的时候,sql字符串是sql语句,必须是完整的语句。仔细看看,语句是不是没有分号";"结尾。
应该watch下string sql。
如果查询没有发现符合条件的记录,返回值也是0.