只能通过update来实现,而对于query所产生的数据集来说,其是只读的,不能赋值的。
sql.add('update tablename set fieldname=value where id=currentid');
ExecSql;

解决方案 »

  1.   

    TO:cwhelucky 不会吧,只能通过update来实现query当然也可以用这样来实现.
    query.edit;
    query.fieldbyname('field').asstring:='test';
    query.post;
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);var
       i: Integer;
       Info: String;
    begin
       Info := 'The fields of table ' + Table1.TableName + 
               ' are:'#13#10#13#10;
       for i := 0 to Table1.FieldCount - 1 do
          Info := Info + Table1.Fields[i].FieldName + #13#10;
      ShowMessage(Info);
    end;
      

  3.   

    给firing_sky,我不是想使用table。而是要使用table.
      

  4.   

    var i:integer;
    i:=query1.fields[0].value;
    or
    i:=query1.fieldbyname('filedname').asinteger;//asfloat
      

  5.   

      edit1.text:=query1.FieldByName('prtno').asstring;
      

  6.   

    用QUERY.FIELDBYNAME('').ASSTRING等就可以呀!
    怎么问题这么奇怪!