写了一条更新语句,数据库更新不了。就是一个Cer_Table,一个Visit_Table,其中Cer_Table字段有CerID,Name和StaID等,Visit_Table字段有CerID,Name,StaID和Ipad等,想要执行的结果是在Visit_Table添加一条记录,
下面的ipad,zsbh是已经定义的string变量
SqlConnection MyConnection3= DB.creatConnection();//连数据库
MyConnection3.Open(); SqlCommand MyCommand3 = new SqlCommand("Insert into Visit_Table (Ipad,CerID) values('" + ipad + "','"+zsbh+"')", MyConnection3);
MyCommand3.ExecuteNonQuery();//这个语句可以执行,在Visit_Table添加一条记录,Ipad字段和CerID字段的值分别为ipad和zsbh,此时Name和StaID字段为空
//下面这句可以执行,也就是把Visit_Table刚刚添加的记录Name字段和StaID字段分别设为自定义的‘Feng’‘1306’
//SqlCommand MyCommand4 = new SqlCommand("Update Visit_Table set Name='Feng',StaID='1306' where CerID='"+ zsbh +"'",MyConnection3 ); //下面这条语句我希望能够把Visit_Table刚刚添加的记录的Name字段(为空值)和StaID字段(为空值)分别设为Cer_Table中与其CerID值相同的文本,但是运行时,不报错,数据库中Visit_Table的Name和StaID字段仍然为空
SqlCommand MyCommand4 = new SqlCommand("Update Visit_Table set Name=(select Name from Cer_Table where Cer_Table.CerID='" + zsbh + "'),StaID=(select StaID from Cer_Table where Cer_Table.CerID='" + zsbh + "') where Name='' and CerID='"+ zsbh +"'",MyConnection3 ); MyCommand4.ExecuteNonQuery();
MyConnection3.Close();
这个问题怎么解决呀?是不是update语句的错误呀?
下面的ipad,zsbh是已经定义的string变量
SqlConnection MyConnection3= DB.creatConnection();//连数据库
MyConnection3.Open(); SqlCommand MyCommand3 = new SqlCommand("Insert into Visit_Table (Ipad,CerID) values('" + ipad + "','"+zsbh+"')", MyConnection3);
MyCommand3.ExecuteNonQuery();//这个语句可以执行,在Visit_Table添加一条记录,Ipad字段和CerID字段的值分别为ipad和zsbh,此时Name和StaID字段为空
//下面这句可以执行,也就是把Visit_Table刚刚添加的记录Name字段和StaID字段分别设为自定义的‘Feng’‘1306’
//SqlCommand MyCommand4 = new SqlCommand("Update Visit_Table set Name='Feng',StaID='1306' where CerID='"+ zsbh +"'",MyConnection3 ); //下面这条语句我希望能够把Visit_Table刚刚添加的记录的Name字段(为空值)和StaID字段(为空值)分别设为Cer_Table中与其CerID值相同的文本,但是运行时,不报错,数据库中Visit_Table的Name和StaID字段仍然为空
SqlCommand MyCommand4 = new SqlCommand("Update Visit_Table set Name=(select Name from Cer_Table where Cer_Table.CerID='" + zsbh + "'),StaID=(select StaID from Cer_Table where Cer_Table.CerID='" + zsbh + "') where Name='' and CerID='"+ zsbh +"'",MyConnection3 ); MyCommand4.ExecuteNonQuery();
MyConnection3.Close();
这个问题怎么解决呀?是不是update语句的错误呀?
null和''有区别
SqlCommand MyCommand4 = new SqlCommand("Update Visit_Table set Name=(select Name from Cer_Table where Cer_Table.CerID='" + zsbh + "'),StaID=(select StaID from Cer_Table where Cer_Table.CerID='" + zsbh + "') where Name=null and CerID='"+ zsbh +"'",MyConnection3 );还是不行
问题就出在最后的where Name=null and CerID='"+ zsbh +"'
我把name=null and去掉就可以了,不知道为什么
我不想已经有name值的数据改掉,只想改name值是空的,怎么改哦?