Cannot insert multiple commands into a prepared statement
Posted: Thu 23 Jun 2011 10:55
Hello,
I've problem with use "begin ... end" blocks in TSQLQuery. For example, next code raises exception "Cannot insert multiple commands into a prepared statement"
When I use dbExpress components for Oracle all is ok.
How can I use "begin; end;" blocks in PostgreSQL using dbExpress drivers? Is there another ways of using such kind of blocks?
I've problem with use "begin ... end" blocks in TSQLQuery. For example, next code raises exception "Cannot insert multiple commands into a prepared statement"
Code: Select all
var
DB: TSQLConnection;
Q: TSQLQuery;
begin
DB:=TSQLConnection.Create(Application);
DB.DriverName := 'DevartPostgreSQL';
DB.LibraryName := 'dbexppgsql.dll';
DB.VendorLib := 'dbexppgsql.dll';
DB.GetDriverFunc := 'getSQLDriverPostgreSQL';
DB.Params.Clear;
DB.Params.Add('User_Name=postgres');
DB.Params.Add('Password=postgres');
DB.Params.Add('Database=db');
DB.Params.Add('HostName=127.0.0.1');
DB.Params.Add('ServerCharSet=WIN1251');
Q:=TSQLQuery.Create(Application);
Q.SQLConnection := DB;
Q.SQL.Add('begin ;');
Q.SQL.Add(' insert into test(name) values(''123'');');
Q.SQL.Add(' insert into test(name) values(''234'');');
Q.SQL.Add('end;');
Q.ExecSQL;
end;
How can I use "begin; end;" blocks in PostgreSQL using dbExpress drivers? Is there another ways of using such kind of blocks?