По этому поводу был suggestion на Task Tracker
#129497Но, имхо, это больше походит на отмазку тролей )))
Это не отмазка, это скорее ответ на глупый вопрос.
Тут все зависит от сервера. В одних случаях скрипт состоящий из нескольких команд
нужно резать на отдельные команды и посылать их по отдельности. Например:
use mydb
go
create table t(....)
go
insert into t values(...)
go
Для ASE этот скрипт НАДО резать на три отдельные команды и посылать по отдельности.
А вот такой скрипт резать на отдельные команды можно, но не обязательно:
insert into t values(...)
insert into t values(...)
insert into t values(...)
select * into t1 from t where ....
А если мы перейдем c ASE на ASA, то вот такой скрипт:
begin atomic
insert into t values(....);
insert into t valuse(....);
insert into t valuse(....);
end;
Резать на команды перед посылкой на сервер уже просто нельзя. Не смотря на то что там три отдельных команды, но они сгрупированны в одну (конструкцией begin atomic ... end) и будут обработаны сервером как одна. В смысле если первая прошла, а вторая не смогла, то первая команда будет автоматически откачена, а третья вообще запущена не будет.
Отсюда и вывод: встраивать в QSqlQuery автоматическую резалку строки на команды - нельзя.