hi. titel beinhaltet das problem<br>ich kann folgenden quellcode ausführen, bis er zu dem letzten IBSQL.ExecQuery kommt. ich weiss aber nicht, woran das liegt:<br><br>
<pre>
IBSQL.SQL.Clear;
IBSQL.SQL.Add('CREATE TABLE testtabelle (');
IBSQL.SQL.Add(' feld01 CHAR(100),');
IBSQL.SQL.Add(' feld02 INTEGER);');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
IBSQL.SQL.Add('CREATE GENERATOR feld02_gen_testtabelle;');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
IBSQL.SQL.Add('COMMIT;');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
IBSQL.SQL.Add('SET TERM !! ;');
IBSQL.SQL.Add('CREATE TRIGGER INC_feld02 FOR testtabelle');
IBSQL.SQL.Add(' ACTIVE BEFORE INSERT POSITION 0');
IBSQL.SQL.Add(' AS BEGIN');
IBSQL.SQL.Add(' NEW.feld02 = GEN_ID(feld02_gen_testtabelle,1);');
IBSQL.SQL.Add(' END !!');
IBSQL.SQL.Add('SET TERM ; !!');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
</pre>
<br><br>feldermeldung: Transaktion ist nicht offen. ist sie aber ?!
<pre>
IBSQL.SQL.Clear;
IBSQL.SQL.Add('CREATE TABLE testtabelle (');
IBSQL.SQL.Add(' feld01 CHAR(100),');
IBSQL.SQL.Add(' feld02 INTEGER);');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
IBSQL.SQL.Add('CREATE GENERATOR feld02_gen_testtabelle;');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
IBSQL.SQL.Add('COMMIT;');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
IBSQL.SQL.Add('SET TERM !! ;');
IBSQL.SQL.Add('CREATE TRIGGER INC_feld02 FOR testtabelle');
IBSQL.SQL.Add(' ACTIVE BEFORE INSERT POSITION 0');
IBSQL.SQL.Add(' AS BEGIN');
IBSQL.SQL.Add(' NEW.feld02 = GEN_ID(feld02_gen_testtabelle,1);');
IBSQL.SQL.Add(' END !!');
IBSQL.SQL.Add('SET TERM ; !!');
IBSQL.ExecQuery;
IBSQL.SQL.Clear;
</pre>
<br><br>feldermeldung: Transaktion ist nicht offen. ist sie aber ?!
Comment