在做一个存储系统
名为ck表的 数据要进行数据更新,每次单击按钮之后
名为'edit6'上编号的仓库,他的Sused 内的数据要加上edit4的数据。
ADOQuery组件
With ADOQuery1 do 
begin 
Close; 
SQL.Clear;
ADOQuery.SQL.Text:='Update ckdb where Sno=:trim(edit6.text)';
fieldbyname(Sused).asstring:=fieldbyname(Sused).asstring:trim(edit4.text);
ExecSQL; 
end;这样对么?  ADOQuery组件 还需要设置别的么?  

解决方案 »

  1.   

    发错了是这个With ADOQuery1 do  
    begin  
    Close;  
    SQL.Clear;
    ADOQuery.SQL.Text:='Update ck where Sno=:trim(edit6.text)';
    ADOQuery.Parameters.ParamByName('Sused').Value:=ADOQuery.Parameters.ParamByName('Sused').Value+trim(Edit4.text);  
    ExecSQL;  
    end;
      

  2.   

    你代码错误多多,试试这个吧:
    With ADOQuery1 do  
    begin  
      Edit;
      fieldbyname('Sused').asstring:=fieldbyname('Sused').asstring+trim(edit4.text);
      Post; 
    end;
      

  3.   

    With ADOQuery1 do  
    begin  
    Close;  
    SQL.Clear;
    ADOQuery.SQL.Text:='Update ck set Sno=:P1';
    ADOQuery.Parameters.ParamByName('P1').Value:=ADOQuery.fieldbyname('Sused').asstring+trim(Edit4.text);  
    ExecSQL;  
    end;
      

  4.   


    Sno 是仓库号,  Sused 是 使用量;  仓库号需要 edit6 输入来查询这条仓库的记录,然后再使用edit4输入的值来修改这条记录 Sused 。    求修改.......   我试了很多种 死活不对啊, Delphi 的SQL语句没学过,书本写的太简单了
      

  5.   

    With ADOQuery1 do  
    begin  
    Close;  
    SQL.Clear;
    ADOQuery.SQL.Text:='Update ck set  Sused =:P2 where Sno=:P1';
    ADOQuery.Parameters.ParamByName('P1').Value:= quotedstr(edit6.text);
    ADOQuery.Parameters.ParamByName('P2').Value:= ADOQuery.fieldbyname('Sused').asinteger+strtointdef(Edit4.text,0);  
    ExecSQL;  end;
      

  6.   

    不要急着做作品,先打基础吧;
    简单的SQL语法:select,delete,update还是要先搞懂...