![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: -
IBObjects Grid
Liste der Anhänge anzeigen (Anzahl: 2)
Guten Morgen!
Ich muss ein Programm erweitern, welches bereits IBObjects nutzt, um Daten aus einer Datenbank auszulesen und mittels Grid anzuzeigen. Es werden die Komponenten TIB_Grid, TIB_Query und TIB_Datasource genutzt. Das auslesen der benötigten Daten aus der Datenbank sowie das Anzeigen mittels dem Grid im Programm ist nicht das Problem, das funktioniert perfekt, ABER ich muss die Daten anders anzeigen als sie in der Datenbank gespeichert sind UND muss sie editieren können und wieder richtig speichern. Ist das mit TIB_Grid möglich? Habe noch keine Möglichkeit gefunden mit diesem Grid Daten editieren bzw. löschen zu können. Im Anhang habe ich 2 Bilder, das erste Beschreibt die Struktur wie die Daten in der Tabelle gespeichert sind und das 2. wie sie im Programm angezeigt werden sollen. Ich hoffe es ist halbwegs verständlich :-D Danke schon mal im Voraus! |
AW: IBObjects Grid
Hi,
ich arbeite zwar auch mit IBO, allerdings mit den TDataset - kompatiblen Komponenten. Aber ich weiß, dass die TIB_Grid natürlich editieren kann. Wichtig sind die Einstellungen der TIB_Query. Bei einfachen Abfragen reicht es, Requestlive auf True zu setzten. Bei Abfragen mit Join' s musst du die Update- Insert und Delete Statements (rechte Maus, Edit Component) richtig erzeugen. Frank |
AW: IBObjects Grid
Danke, also mit der Eigenschaft Requestlive kann man das Grid nun endlich editieren und er speichert es auch in die Datenbank zurück, ABER ich möchte die Daten nicht on the fly speichern, sondern zuerst alles im Grid editieren und danach zB per Button den Befehl zum Speichern geben. Gibt es da eine Möglichkeit? Danke
|
AW: IBObjects Grid
Dafür gibts die Komponente "TIB_Transaction".
|
AW: IBObjects Grid
oder man setzt CachedUpdates auf True und Speichert mit ApplyUpdates...
Frank |
AW: IBObjects Grid
Danke, das klappt jetzt soweit mit der Variante von DataSpider :)
Jetzt bleibt nur noch das Problem mit der Anzeige der Daten. Ich hab ehrlich gesagt noch keine Ahnung wie ich das umsetzen soll dass er die Daten nebeneinander anzeigt... |
AW: IBObjects Grid
Sorry, da kann ich erst mal nicht helfen.
Ich habe es schnell mal probiert, ohne Probleme. Welche Version von IBO hast du denn? Und wie sieht das Statement und der KeyLinks - Eintrag aus? Frank |
AW: IBObjects Grid
Zitat:
|
AW: IBObjects Grid
Transaction.AutoCommit auf True oder nach dem ApplyUpdates Query.IB_Transaction.Commit.
Frank |
AW: IBObjects Grid
Eins möchte ich bei der Sache noch zu bedenken geben: Wenn du eine Transaction vor einer manuellen Bearbeitung der Daten startest, kann es sein, dass ein Commit erst Stunden später erfolgt, eben genau so lange, bis der Benutzer sich bequemt den entsprechenden Knopf zu drücken.
Man sollte lange Transaktionen aus folgenden Gründen vermeiden: Falls es zu einem Stromausfall etc. kommen sollte, gehen die Eingaben verloren. Außerdem sperrt das DBMS typischerweise von der Transaktion veränderte Zeilen, eventuell auch ganze Blöcke auf der Platte. Diese Sperren bleiben bis zum Ende der Transaktion erhalten. Lange Transaktionen können dann andere Benutzer behindern. Schließlich muß das DBMS für die Dauer der Transaktion Undo-Information aufbewahren. Wenn es die Speicherbereiche zyklisch neu verwendet, kann das auch zu Problemen führen. Klassische Datenbanksysteme sind nicht für lange Transaktionen gedacht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz