先建一测试表: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:无效字符”的错误。
不知哪位大虾碰到过这个问题,如何解决?
例如使用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:无效字符”的错误。
不知哪位大虾碰到过这个问题,如何解决?
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;
你第一条语句加上第二条语句等于什么?
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;
想500条或1000条提交一次,当然不想一条一条的Insert