with mydata do
begin
query1.Insert;
query1.fieldbyname('ID').asinteger:=7;
query1.FieldByName('name').asstring:=dbedit1.Text;
query1.FieldByName('password').asstring:=dbedit2.Text;
query1.FieldByName('truename').asstring:=dbedit5.Text;
query1.FieldByName('re').asstring:=dbedit6.Text;
query1.FieldByName('authority').asstring:=dbedit4.Text;
query1.FieldByName('valid').asstring:='true';
query1.Post;
end

解决方案 »

  1.   

    用Query能更新数据吗?
    好像改用Table吧!
      

  2.   

    我把Cacheupdates 设为false也没用。
      

  3.   

    用QUERY什么更新当然可以,增加,删除,等都可以用SQL语句
      

  4.   

    with mydata do
    begin
    query1.edit;  //在这里
    query1.Insert;
    query1.fieldbyname('ID').asinteger:=7;
    query1.FieldByName('name').asstring:=dbedit1.Text;
    query1.FieldByName('password').asstring:=dbedit2.Text;
    query1.FieldByName('truename').asstring:=dbedit5.Text;
    query1.FieldByName('re').asstring:=dbedit6.Text;
    query1.FieldByName('authority').asstring:=dbedit4.Text;
    query1.FieldByName('valid').asstring:='true';
    query1.Post;
    //query1.edit;
    Query1.ApplyUpdates;
    Query1.CommitUpdates;
    query1.FlushBuffers;
    end;
      

  5.   

    还是不行,DBgird得光标停在最后一条记录上,没有往下移
      

  6.   

    另外,我用了sql语句,结果一样。
    query1.close;
    query1.SQL.clear;
    query1.SQL.add('insert into tableoperator ');
    query1.sql.add('values("7",deedit1.text,dbedit2.text,dbedit5.text,dbedit6.text,dbedit4.text,"true")');
    query1.Prepare;
    query1.Open;
      

  7.   

    用table或者query,方法是append不就行了