Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid bearbeiten, welches aus einem IBQuery befüllt wurde (https://www.delphipraxis.net/58028-dbgrid-bearbeiten-welches-aus-einem-ibquery-befuellt-wurde.html)

ickehausen 30. Nov 2005 11:04

Datenbank: Interbase • Version: 6.0 • Zugriff über: IBX

DBGrid bearbeiten, welches aus einem IBQuery befüllt wurde
 
Hallöchen,

ich befülle ein DBGrid mit Daten aus einem IBQuery. Mir ist schon klar, dass ich die Daten nicht so einfach dann bearbeiten kann. Wie muss ich es aber dann machen, damit ich nach gewissen Inhalten suchen kann und dann diese Ergebnise bearbeiten kann?

marabu 30. Nov 2005 11:25

Re: DBGrid bearbeiten, welches aus einem IBQuery befüllt wur
 
Hallo.

Die Suche solltest du vielleicht noch etwas erläutern. Für das Bearbeiten gibt es wie so oft sehr verschiedene Lösungsansätze. Einer wäre, dass du einen Dialog entwirfst, in dem die Felder eines einzelnen Datensatzes bearbeitet werden können. Durch eine Action kannst du diesen Dialog modal anzeigen und nach erfolgreicher Speicherung der geänderten Daten deine Query aktualisieren, damit die Daten im Grid aktuell sind.

Grüße vom marabu

Lemmy 30. Nov 2005 11:43

Re: DBGrid bearbeiten, welches aus einem IBQuery befüllt wur
 
Hi,

nur mal ne kleine Anmerkung: IBQuery wurde nie für den Volleinsatz implementiert, sondern nur für die Umstellung von BDE auf IBX! Anstelle IBQuery bei solchen Dinge IBDataSet verwenden. Dort kann man auch entsprechend SQL hinterlegen (Update/Insert/Delete), dann sollte das automatische Ändern innerhalb eines Grids normalerweise ohne jede weitere Zeile Code funktionieren.

Grüße
Lemmy

marabu 30. Nov 2005 12:03

Re: DBGrid bearbeiten, welches aus einem IBQuery befüllt wur
 
Hi Lemmy,

Zitat:

Zitat von Lemmy
IBQuery wurde nie für den Volleinsatz implementiert, sondern nur für die Umstellung von BDE auf IBX!

da ich diese Aussage nicht das erste Mal lese und nicht so recht nachvollziehen kann, würde ich mich über einen Quellennachweis freuen.

Freundliche Grüße vom marabu

Lemmy 30. Nov 2005 12:36

Re: DBGrid bearbeiten, welches aus einem IBQuery befüllt wur
 
Hi,

das habe ich gelesen, mag es in einem Kosch Buch gewesen sein, oder im Entwickler. Auf die Schnelle habe ich folgendes gefunden:

http://community.borland.com/article...,27659,00.html

Zitat:

IBDataset - This is the main data aware control I recommend using. It has advantages of having all the Live mode SQL statements (InsertSQL, DeleteSQL, ModifySQL and RefreshSQL) built in. It can still use an UpdateObject for more complicated update sequences. The major difference between an IBDataset and an IBQuery is the use of the native IBXSQLVAR instead of TParam. This has the advantage of being able to handle INT64 data types under IB 6.0, but has a disadvantage of the Params not accessible at design time. Expect future versions to be able to publish the Params property.

Zitat:

IBQuery is a read only component by default. To make the component Read Write an IBUpdateSQL object needs to be tied to the IBQuery through the UpdateObject property. One main difference between IBQuery in this configuration and IBDataset is the Edit functionality. When posting an edit IBUpdateSQL will raise an exception if you do not modify one and only one record. IBDataset will allow you to update 0 or more records without any exceptions.
Zumindest hier steht eindeutig, dass neue Features von IB/FB (z.B. INT64) von TIBQuery nicht unterstützt werden.

Wenn Du mehr Quellen brauchst, musst Du mir Zeit geben.

Grüße
Lemmy

marabu 30. Nov 2005 12:42

Re: DBGrid bearbeiten, welches aus einem IBQuery befüllt wur
 
Vielen Dank, Lemmy.

Speziell der Hinweis auf INT64 wird bestimmt einmal hilfreich sein - wenn ich mich dann noch daran erinnern kann.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 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-2025 by Thomas Breitkreuz