我是个莱鸟,有个问题麻烦大家帮忙看一下 
SQL.Add(' update jsdate set shuliang=shuliang'+edit2.text+',jingj='+edit6.text+',lingshouj='+edit6.text+' where jianma='+edit1.text+' ');
假设我输入的值全部为5
那么这个语句等价于
update jsdate set shuliang=shuliang+5,jingj=5,lingshouj=5 wherejianma=5我本来是想,现在入库的数量应该等于数据库中原有的数量加上输入的数量,这样的话这个语句就不能实现了,请问各位大哥,我这语句应该怎么改才能实现呀!!!!

解决方案 »

  1.   

    你的sql语句错拉
    字符串的+和算术上的+不一样的,如果你的sql想实现算术上的加法,我不知道有没有什么特别的方法在数据库里实现加法..
    老实点的方法,先分别取出,用strtofloat转化,在算术处理,在对结果floattostr然后赋值到数据库的字段.
      

  2.   

    SQL.Add(' update jsdate set shuliang=shuliang+'+edit2.text+',jingj='+edit6.text+',lingshouj='+edit6.text+' where jianma='+edit1.text+' ');
      

  3.   

    下面的语句是不是对的呀?
    SQL.Add(' update jsdate set shuliang=:endshuliang,jingj='+edit6.text+',lingshouj='+edit6.text+' where jianma='+edit1.text+' '); query4.ParamByName('endshuliang').AsFloat:=strtofloat(form3.query1.FieldValues['shuliang']) + strtofloat(edit2.Text);
    执行的时候为什么会报类型错误呢?应该要怎么写才可以通过呢?我是个新手麻烦大家告诉小弟一下,好吗?