string id;
id=IDtextBox.Text;
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id=id";
执行,没报错,但也修改不了数据库的值...我用的是SQL2000,对应数据库里的数据类型是nvarchar的;
myCommand.CommandText = "Update _Main set _money="+addMoney+" where id="+IDtextBox.Text+"";
这样再执行就可以用了...
为什么赋了个值就不行了?
而且既不报错,也没又修改数据,结果我找了半天都没找到错误...
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id=id";
上面这个构造出的sql语句有问题,成了where id=‘id’,更新时会去找id值为id的记录,可你本意是这个id值是要根据你textbox的值变化的。
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id=id
是不可能报错的,因为你的表中没有_id=id这条记录,这就如select * from _Main where id=id,你在查询分析器里看看,这句会报错吗?
string id;
id=IDtextBox.Text;
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id="+id+"";
where _id=id有问题,如果你的后一个id也是个变量的话应该加上"++"转义,可以写成
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id="+id+"";
注意addmoney那也要加引号,试试上面语句,还不行的话随便赋个固定的值看能不能改数据库,如果再不行把类似的语句到查询分析器试试。
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id=id";
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id=" + id + "";
myCommand.CommandText = "Update _Main set _money="+addMoney+" where _id=id";
执行,没报错,但也修改不了数据库的值...我用的是SQL2000,对应数据库里的数据类型是nvarchar的;
???????????
where _id=id"; 这句话的最后一个id是字符串 应该和你能改的那个语句一样 用+连接。
where _id=+id+"";
zhgroup() 说的对,因为你现在的写法是查询id值为id的行,而不是id为id变量内存贮的值的行
myCommand.CommandText = string.Format("Update _Main set _money={0} where _id={1}", addMoney, id);
这样写比较清晰。