呵呵,用SQL语句呀, insert into 表名(字段名1,字段名1) Values (值1,值2)

解决方案 »

  1.   

    还有,最后显示使用事务,增加前用
    Database.StartTransaction;
    改完后立刻提交,用
    Database.Commit;
    提交失败就回退
    Database.Rollback;如下:Database.StartTransaction;
    try
      .......
      Query.ExecSql();
      Database.Commit;
    except
      Database.Rollback;
    end;
      

  2.   

    Query1.Append;
    Query1.FieldValues['ALPHANUMERIC'] := Edit1.text;
    Query1.FieldValues['INTEGER'] := StrToInt(Edit2.text);
    Query1.Post;
    另外,你不妨试一下AppendRecord方法,不用post了!
      

  3.   

    同意weizhi(行者) 的建议,用sql语句比较好
      

  4.   

    用SQL好了,反正你也是不是用的数据感知控件。相对要稳定不知多少。
      

  5.   

    用append+post并没有错,关键是post以后一定要关闭数据集,断开与数据库的连接。否则很容易丢数据的。
      

  6.   

    你可以用缓存机制,用两个TQuery控件,一个放临时数据(Query1),最后保存的时候,用另外一个(Toolsqry),其中query1的SQL语句固定为"select *,'O' as field from tablename where fieldname=:fieldname"别忘了加TUpdateSQL控件,添加时
    query1.append;
    query1.fieldbyname('案号').asstring:=edit1.text;
    query1.fieldbyname('field').asstring:='A';
    query1.post;
    post其实什么也没做,只是把数据放到缓存中。
    这样你可以把大量的数据存放到缓存中。
    保存时用toolsqry
    with query1 do
    begin
      first;
      while not eof do
      begin
        if fieldbyname('mardfield').asstring='A' then
        begin
          toolsqry.Close;
          toolsqry.SQL.Text:='insert into tablename …… where '''案 号'''='+edit1.Test;
          toolsqry.ExecSQL;
        end;
        next;
      end;
    end;
      

  7.   

    坚决用SQL,如果要用APPEND的话,那就用TABLE吧!!!!!!!!!!!