先建一测试表:create table table1(num number(6))
  例如使用TADOQuery(TQuery、TSQLQuery也同样出错,):
procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('insert into table1 values(55)');
  ADOQuery1.SQL.Add('insert into table1 values(56)');
  ADOQuery1.ExecSQL;
end;
  当运行上述代码时跳出“ORA-00933:SQL命令未正常结束”的错误(只执行
一条insert指令则没有问题), 但上述语句在SQL SERVER、SYBASE等数据库
均没有问题。
  当在每条语句加上sql/plsql要求的分号时,运行上述代码则
跳出“ORA-00911:无效字符”的错误。
  不知哪位大虾碰到过这个问题,如何解决?   

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('insert into table1 values(55)');
      ADOQuery1.ExecSQL;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('insert into table1 values(56)');
      ADOQuery1.ExecSQL;
    end;
      

  2.   

    老大啊,
    你第一条语句加上第二条语句等于什么?
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('insert into table1 values(55)');
      ADOQuery1.ExecSQL;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('insert into table1 values(56)');
      ADOQuery1.ExecSQL;
    end;
      

  3.   

    Wally_wu(韦利)兄,我在做将一文本文件的数据倒入oracle数据库的程序,
    想500条或1000条提交一次,当然不想一条一条的Insert