Hallo,<br><br>
ich habe zwar schon einige Threads zu IBDataset gelesen, habe aber noch nicht die Lösung für mein spezielles Problem gefunden. Deshalb hier ein neuer Thread.<br><br>
Ich habe in einem Stammdatenfenster am Rand permanent ein Grid, das per TDatasource und TIBDataset gefüllt wird. Ich möchte so schnell zwischen vorhandenen Datensätze wechseln.<br>
<br>
Bei meiner TIBDataset-Instanz ist nur die Eigenschaft SelectSQL und RefreshSQL mit "select rohstoffe_id, bezeichnung from rohstoffe" gefüllt. Alles andere mache ich "per Hand" mit TIBSQL. Wird nun ein neuer Datensatz eingefügt, mache ich ein Insert per TIBSQL über einer andere (!) TIBTransaction als das IBDataset hat. Nach dem Commit ist der Datensatz in der IBConsole zu sehen, aber im Grid mit IBDataset trotz Refresh bzw. Close/Open nicht! Beim Ändern und Löschen tritt selbiger Effekt auf.<br><br>
In der Anwendung mache ich mit dem IBDataset folgendes:<br>
- Prepare<br>
- Open<br>
- FetchAll<br>
- First<br>
- dann irgendwann: Insert<br>
- Commit<br>
- Close + Open<br>
<br>
<br>
Nun meine Fragen:<br>
1.) Ist hier die Kombination DBGrid + IBDataset überhaupt sinnvoll?<br>
2.) Liegt es an den verschiedenen Transaktionen, dass der Datensatz trotz Refresh nicht erscheint?<br>
3.) Wenn ja, wie kann ich manuell die übrigen Transaktionen refreshen?<br>
<br>
Vielen Dank für eure Tipps und ein schönes Wochenende,<br>
Christian Storfinger
ich habe zwar schon einige Threads zu IBDataset gelesen, habe aber noch nicht die Lösung für mein spezielles Problem gefunden. Deshalb hier ein neuer Thread.<br><br>
Ich habe in einem Stammdatenfenster am Rand permanent ein Grid, das per TDatasource und TIBDataset gefüllt wird. Ich möchte so schnell zwischen vorhandenen Datensätze wechseln.<br>
<br>
Bei meiner TIBDataset-Instanz ist nur die Eigenschaft SelectSQL und RefreshSQL mit "select rohstoffe_id, bezeichnung from rohstoffe" gefüllt. Alles andere mache ich "per Hand" mit TIBSQL. Wird nun ein neuer Datensatz eingefügt, mache ich ein Insert per TIBSQL über einer andere (!) TIBTransaction als das IBDataset hat. Nach dem Commit ist der Datensatz in der IBConsole zu sehen, aber im Grid mit IBDataset trotz Refresh bzw. Close/Open nicht! Beim Ändern und Löschen tritt selbiger Effekt auf.<br><br>
In der Anwendung mache ich mit dem IBDataset folgendes:<br>
- Prepare<br>
- Open<br>
- FetchAll<br>
- First<br>
- dann irgendwann: Insert<br>
- Commit<br>
- Close + Open<br>
<br>
<br>
Nun meine Fragen:<br>
1.) Ist hier die Kombination DBGrid + IBDataset überhaupt sinnvoll?<br>
2.) Liegt es an den verschiedenen Transaktionen, dass der Datensatz trotz Refresh nicht erscheint?<br>
3.) Wenn ja, wie kann ich manuell die übrigen Transaktionen refreshen?<br>
<br>
Vielen Dank für eure Tipps und ein schönes Wochenende,<br>
Christian Storfinger
Comment