Quote Originally Posted by ChrisW67 View Post
This is the same issue as your earlier post in the other forum. QSqlQuery::exec() handles single statements.
I do not agree with this statement. We have many such examples in the code:
Qt Code:
  1. QString skrypt(
  2. "ALTER TABLE rodzaje_biletow"
  3. " ADD COLUMN id_rodzb serial NOT NULL;"
  4. "ALTER TABLE rodzaje_biletow DROP CONSTRAINT rodzaje_biletow_pkey;"
  5. "ALTER TABLE rodzaje_biletow"
  6. " ADD CONSTRAINT rodzaje_biletow_pkey PRIMARY KEY(id_rodzb);"
  7. "ALTER TABLE bilety ADD COLUMN id_rodzb integer;"
  8. "UPDATE bilety "
  9. " SET id_rodzb = (SELECT id_rodzb FROM rodzaje_biletow "
  10. " WHERE bilety.kod_rb=rodzaje_biletow.kod_rb "
  11. " AND bilety.id_rozkladu=rodzaje_biletow.id_rozkladu);"
  12. "DROP VIEW bilety_dobre;"
  13. "ALTER TABLE bilety DROP COLUMN kod_rb;"
  14. "CREATE OR REPLACE VIEW bilety_dobre AS "
  15. " SELECT bilety.*"
  16. " FROM bilety WHERE bilety.dobry = 1::numeric;"
  17. "ALTER TABLE ulgi_kursow ADD COLUMN id_rodzb integer;"
  18. "UPDATE ulgi_kursow "
  19. " SET id_rodzb = (SELECT id_rodzb FROM rodzaje_biletow "
  20. " WHERE ulgi_kursow.kod_rb=rodzaje_biletow.kod_rb "
  21. " AND ulgi_kursow.id_rozkladu=rodzaje_biletow.id_rozkladu);"
  22. "ALTER TABLE ulgi_kursow DROP COLUMN kod_rb;"
  23. );
  24. if( !query.exec(skrypt) )
  25. {
  26. ......
  27. }
To copy to clipboard, switch view to plain text mode 
As you can see, there are several SQL commands run by a single QSqlQuery::exec.