adq2.Close;  (adq2: TADOQuery;)
   adq2.SQL.Clear;   adq2.Parameters.Add;
   adq2.Parameters[0].Name:='c1';
   adq2.Parameters[0].Value:=combobox1.Text;
   adq2.Parameters.Add;
   adq2.Parameters[1].Name:='c2';
   adq2.Parameters[1].Value:=strtoint(trim(edit1.Text));
   
   adq2.SQL.Add('update cqinfo set feipin=feipin+:c2 where cpbh=:c1');
   adq2.ExecSQL;
   cqinfo是表,feipin是整数型的字段,
   现在问题老在+:c2处出问题,错误提示:“将截断字符串或二进制数据”
   
   我个人因为是不是在UPDATE中的set处不能用参数啊???
  
   请朋友们帮忙?

解决方案 »

  1.   

      adq2.Close;  (adq2: TADOQuery;)
      adq2.SQL.Clear;
      adq2.SQL.Add('update cqinfo set feipin=feipin+:c2 where cpbh=:c1');
      adq2.Parameters.Add;
      adq2.Parameters[0].Name:='c1';
      adq2.Parameters[0].Value:=combobox1.Text;
      adq2.Parameters.Add;
      adq2.Parameters[1].Name:='c2';
      adq2.Parameters[1].Value:=strtoint(trim(edit1.Text));
       adq2.ExecSQL; 
      

  2.   

    你应该是写颠倒了
    adq2.Close;  (adq2: TADOQuery;) 
      adq2.SQL.Clear; 
      adq2.SQL.Add('update cqinfo set feipin=feipin+:c2 where cpbh=:c1');   adq2.Parameters[0].datatype:=ftinteger ;
      adq2.Parameters[0].Value:=combobox1.Text;   adq2.Parameters[1].datatype:=ftstring ;
      adq2.Parameters[1].size:=500 ;
       adq2.Parameters[1].Value:=strtoint(trim(edit1.Text)); 
      
       adq2.ExecSQL; 
      

  3.   

      adq2.Close;
      adq2.SQL.Clear; 
      adq2.SQL.Add('update cqinfo set feipin=feipin+:c2 where cpbh=:c1'); 
      adq2.Parameters.ParamByName('c1').Value := ComboBox1.Text;
      adq2.Parameters.ParamByName('c2').Value := StrToInt(Trim(Edit1.Text));
      adq2.ExecSQL; 
      

  4.   

      adq2.Close;
      adq2.SQL.Text := 'update cqinfo set feipin=feipin+:c2 where cpbh=:c1';
      adq2.Parameters.ParamByName('c1').Value := ComboBox1.Text;
      adq2.Parameters.ParamByName('c2').Value := StrToInt(Trim(Edit1.Text));
      adq2.ExecSQL;如果出现“将截断字符串或二进制数据” 应该是你数据库中的字段长度不够的原因
      

  5.   

    原因找到了,我不好意思说, 原因是在数据库里的feipin定义是设成char[15],但我一直以为是整数型的。哎,失误。
    非常感谢大家的帮助,特别是四楼的阿三,感谢你的提醒。分给你。还有就是大家都是先写SQL语句,再定义参数赋值,但是我一直都是先定义参数赋值再写SQL语句。一样能成功!
    再次感谢!