我这段代码就这么写的,为什么提交不上去啊? 
 ADOQuery1.Insert;
 ADOQuery1.FieldByName('站号').AsString := SnEdit1.Text;
 ADOQuery1.FieldByName('到站').AsString := SnEdit2.Text;
 ADOQuery1.Post;
 ADOQuery1.Close;
 ADOQuery1.Open;
各位高手赶紧帮着想想办法啊。

解决方案 »

  1.   

    好像没什么问题啊,我的代码是这样写的,数据库是sql server
    procedure TForm1.Button6Click(Sender: TObject);
    begin
            ADOQuery1.SQL.Text := 'select * from test';
            AdoQuery1.ExecSQL;
            AdoQuery1.Active := True;        AdoQuery1.Insert;
            AdoQuery1.FieldByName('mdate').AsDateTime := Now();
            AdoQuery1.FieldByName('mstr').AsString := 'hehe';
            AdoQuery1.Post;
            //AdoQuery1.UpdateBatch(arAll);
    end;
      

  2.   

    没有报错,就是提交不上去,我用的是Access数据库,赶紧帮我想想办法啊
      

  3.   

    我用楼主的方法做了,能够提交上去。我也用Access
      

  4.   

    你都没有打开数据库,怎么提交
    加上: 
      ADOQuery1.close;
      ADOQuery1.sql.clear;
      ADOQuery1.sql.add('select * from 数据库名');
      ADOQuery1.open; ADOQuery1.Insert;
     ADOQuery1.FieldByName('站号').AsString := SnEdit1.Text;
     ADOQuery1.FieldByName('到站').AsString := SnEdit2.Text;
     ADOQuery1.Post;
     //ADOQuery1.Close;//不用下面二段了
     //ADOQuery1.Open;
      

  5.   

    ADOQuery1.LockType:=ltOptimistic;
      

  6.   

    沒有問題的,不過建議你用SQL語句寫,比較容易成功。
    with adoquery1 do 
    begin 
      close;
      sql.clear;
      sql.add('insert into tabname (field1,field2) valuse(:a,:b,)';
      parameters.parambyname('a').Value:=snedit1.text;
      parameters.parambyname('b').Value:=snedit2.text;
      Execsql;
    end;
    肯定能成功!