with dm.aq_moju do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Insert Into moju Values (:a,:b,:c,:d,:e,:f)');
      Parameters.ParamByName('a').Value := Edit1.Text;
      Parameters.ParamByName('f').LoadFromFile(Edit4.Text,ftBlob );
      Parameters.ParamByName('b').Value := Edit2.Text;
      Parameters.ParamByName('c').Value := combobox1.Text;
      Parameters.ParamByName('d').Value := datetostr(datetimepicker1.date);
      Parameters.ParamByName('e').Value := Edit3.Text;
      ExecSQL;
    end;这条是添加数据我想改成修改数据应该怎么改?~

解决方案 »

  1.   


      with dm.aq_moju do
        begin
          Close;
          SQL.Clear;
          SQL.Add('update moju set a=:a, b=:b, c=:c, d=:d, e=:e, f=:f where ....'); //添加限制条件
          Parameters.ParamByName('a').Value := Edit1.Text;
          Parameters.ParamByName('f').LoadFromFile(Edit4.Text,ftBlob );
          Parameters.ParamByName('b').Value := Edit2.Text;
          Parameters.ParamByName('c').Value := combobox1.Text;
          Parameters.ParamByName('d').Value := datetostr(datetimepicker1.date);
          Parameters.ParamByName('e').Value := Edit3.Text;
          ExecSQL;
        end;
      

  2.   

    ParamByName('e') 顺便问下。。这里面的e表示啥意思?
      

  3.   

    :e表示参数e
    Parameters.ParamByName('e').Value 就是参数e的值
      

  4.   


    这是不是定义参数e?
    :a表示第一个字段
    :b表示第二个字段

    以此推类?
    如果我某个数据库有30多条数据的时候。?该怎么办?~也一条一条定义么?~
    定义的时候。。可以不可以不用英文?用:1 ,:2…………
      

  5.   

    a  b   c 不好吗,我还没看到过用数据表示参数的
      

  6.   


    修改数据的话要一个个字段定义,有三十个字段也不要都修改吧?添加数据只要insert into table values(1,2,3,4……),值按顺序来就好了。
    没见过用数字的,你试下咯。
      

  7.   


    update moju set a=:a, b=:b, c=:c, d=:d, e=:e, f=:f where ……前一个a是表中的字段名,后一个a相当于是字段a的值的一个替身吧,后面要对它赋值的。
      

  8.   


    如果你想更新30多个字段,要用这种写法,当然要30多个参数,然后用30多个
    Parameters.ParamByName('xxx').Value 语句来赋值