AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IBObjects Grid

Ein Thema von cult6 · begonnen am 9. Sep 2013 · letzter Beitrag vom 10. Sep 2013
Antwort Antwort
Seite 1 von 2  1 2      
cult6

Registriert seit: 21. Aug 2013
13 Beiträge
 
#1

IBObjects Grid

  Alt 9. Sep 2013, 07:55
Datenbank: Firebird • Version: 2.1 • Zugriff über: -
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 Danke schon mal im Voraus!
Miniaturansicht angehängter Grafiken
unbenannt.png   unbenannt1.png  
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: IBObjects Grid

  Alt 9. Sep 2013, 08:09
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
Frank Reim
  Mit Zitat antworten Zitat
cult6

Registriert seit: 21. Aug 2013
13 Beiträge
 
#3

AW: IBObjects Grid

  Alt 9. Sep 2013, 09:01
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
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#4

AW: IBObjects Grid

  Alt 9. Sep 2013, 09:13
Dafür gibts die Komponente "TIB_Transaction".
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: IBObjects Grid

  Alt 9. Sep 2013, 09:19
oder man setzt CachedUpdates auf True und Speichert mit ApplyUpdates...

Frank
Frank Reim
  Mit Zitat antworten Zitat
cult6

Registriert seit: 21. Aug 2013
13 Beiträge
 
#6

AW: IBObjects Grid

  Alt 9. Sep 2013, 09:40
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...

Geändert von cult6 ( 9. Sep 2013 um 10:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: IBObjects Grid

  Alt 9. Sep 2013, 10:36
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
Frank Reim
  Mit Zitat antworten Zitat
cult6

Registriert seit: 21. Aug 2013
13 Beiträge
 
#8

AW: IBObjects Grid

  Alt 9. Sep 2013, 10:52
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
sorry Frank, ich hab 2 Minuten vor deinem Post meinen Eintrag nochmal editiert dass es nun funktioniert, ich bekomme zwar keinen Fehler mehr, jedoch speichert er mir die Daten nur beim 1. mal wirklich in die Datenbank, ab dem 2. mal passiert nichts... Muss ich nach dem applyUpdate noch was beachten? Cache leeren? Grid neu einlesen? etc..
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: IBObjects Grid

  Alt 9. Sep 2013, 11:08
Transaction.AutoCommit auf True oder nach dem ApplyUpdates Query.IB_Transaction.Commit.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: IBObjects Grid

  Alt 9. Sep 2013, 11:35
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.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz