Firebird Trigger mit QSqlQuery
Verfasst: 7. Oktober 2010 10:01
Hallo,
ich habe folgendes Problem. In meinem Programm wird eine Firebird Datenbank verwendet, auf die mit Hilfe des Ibase Plugins zugegriffen wird. Das funktioniert auch wunderbar.
Problematisch wird es bei Updates, wenn die DB Struktur angepasst werden muss. Dazu verwende ich QSqlQuery und kann damit z.B. neu Tabellen anlegen oder löschen.
Beim Versuch einen neuen Datenbanktrigger anzulegen, der mir einen Index in einer Tabelle erzeugt bin ich bis jetzt gescheitert. Übergebe ich den SQL Code mit einem anderen Programm (FlameRobin) funktioniert er. Mit QSqlQuery leider nicht.
SET TERM ^ ;
CREATE TRIGGER CREATE_USERSETTINGS_ID FOR USERSETTINGS ACTIVE
BEFORE INSERT POSITION 0
AS BEGIN NEW.id = GEN_ID(USERSETTINGSID, 1); END^
SET TERM ; ^
Ich bin mir im Klaren, dass das eigentlich keine Qt Frage ist, aber ich gehe davon aus, dass es nichts mit dem SQL Code zu tun hat, weil der ja mit anderen Programmen funktioniert. Ich würde gern wissen, ob es prinzipiell nicht möglich ist den Code mit Qt auszuführen, oder ob es da evtl. eine Möglichkeit gibt.
Vielen Dank schon mal.
ich habe folgendes Problem. In meinem Programm wird eine Firebird Datenbank verwendet, auf die mit Hilfe des Ibase Plugins zugegriffen wird. Das funktioniert auch wunderbar.
Problematisch wird es bei Updates, wenn die DB Struktur angepasst werden muss. Dazu verwende ich QSqlQuery und kann damit z.B. neu Tabellen anlegen oder löschen.
Beim Versuch einen neuen Datenbanktrigger anzulegen, der mir einen Index in einer Tabelle erzeugt bin ich bis jetzt gescheitert. Übergebe ich den SQL Code mit einem anderen Programm (FlameRobin) funktioniert er. Mit QSqlQuery leider nicht.
SET TERM ^ ;
CREATE TRIGGER CREATE_USERSETTINGS_ID FOR USERSETTINGS ACTIVE
BEFORE INSERT POSITION 0
AS BEGIN NEW.id = GEN_ID(USERSETTINGSID, 1); END^
SET TERM ; ^
Ich bin mir im Klaren, dass das eigentlich keine Qt Frage ist, aber ich gehe davon aus, dass es nichts mit dem SQL Code zu tun hat, weil der ja mit anderen Programmen funktioniert. Ich würde gern wissen, ob es prinzipiell nicht möglich ist den Code mit Qt auszuführen, oder ob es da evtl. eine Möglichkeit gibt.
Vielen Dank schon mal.