Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Query und Dbgrid (https://www.delphipraxis.net/27299-query-und-dbgrid.html)

plautzer 7. Aug 2004 15:23


Query und Dbgrid
 
Mahlzeit,

Datenbank-system: Paradox7;

ich habe ein problem mit dem zugriff einer Query auf ein dbgrid.
Wie man einen eintrag speichert ist mir bekannt, jedoch weiß ich nicht wie man überhaupt etwas in das Grid eintragen kann. Ich habe zwar Query.insert im onklick event des grids geschrieben jedoch kommt sobald ich auf das grid klicke, die Fehlermeldung, das die query nicht im editiermodus ist.
Also habe ich query.edit hinzugefügt, da kam dann aber wieder die Fehlermeldung, das die query nur zu lesen und nicht zu schreiben da sei. Muss ich nun zu Eintrag in das grid eine Table nehmen, oder ist das auch mit ner query machbar?

Plautzer

mikhal 7. Aug 2004 18:23

Re: Query und Dbgrid
 
Zunächsteinmal: Das DBGrid ist lediglich eine Darstellung des Ergebnisses der zugrundeliegenden Query oder Table.

Zitat:

Wie man einen eintrag speichert ist mir bekannt, jedoch weiß ich nicht wie man überhaupt etwas in das Grid eintragen kann. Ich habe zwar Query.insert im onklick event des grids geschrieben jedoch kommt sobald ich auf das grid klicke, die Fehlermeldung, das die query nicht im editiermodus ist.
Das DBGrid wird doch über ein DataSource mit der Query verbunden, wenn du jetzt Query1.Append oder Query1.Insert in deinem Quelltext eingibst, wird normalerweise im DBGrid ein leerer Datensatz erzeugt und der Cursor im ersten Feld des leeren Datensatzes positioniert. Alternativ kannst du natürlich mit dem Cursor über den letzten Datensatz manövrieren, dann wird ebenfalls ein leerer Datensatz erzeugt, wenn die Property AutoEdit der DataSource True ist. Fährst du mit dem Cursor dann wieder in eine andere Zeile des DBGrids, werden die Daten normalerweise übernommen. Empfehlenswert sind hier aber Buttons für Append und Post.

Zitat:

Also habe ich query.edit hinzugefügt, da kam dann aber wieder die Fehlermeldung, das die query nur zu lesen und nicht zu schreiben da sei.
Da du Paradox und damit Local SQL verwendest, hast du ein Problem, wenn deine Query über mehrere Tabellen deiner Datenbank geht (JOIN) und/oder die Query eine ORDER BY Klausel enthält. Sollte das der Fall sein, solltest du dir eine andere Methode zur Dateneingabe einfallen lassen. Geht es nur über eine einzelne Tabelle bietet sich da tatsächlich ein TTable an.

Grüße
Mikhal

DelphiFreund 7. Aug 2004 18:32

Re: Query und Dbgrid
 
Ich verwende immer TQuery und zum sotieren Schlüssel(die hießen doch so :?:).

Gruß DelphiFreund

Union 7. Aug 2004 20:10

Re: Query und Dbgrid
 
Zitat:

Zitat von plautzer
Ich habe zwar Query.insert im onklick event des grids geschrieben jedoch kommt sobald ich auf das grid klicke, die Fehlermeldung, das die query nicht im editiermodus ist.
Also habe ich query.edit hinzugefügt, da kam dann aber wieder die Fehlermeldung, das die query nur zu lesen und nicht zu schreiben da sei. Muss ich nun zu Eintrag in das grid eine Table nehmen, oder ist das auch mit ner query machbar?

Wenn Du die Daten einer Query ändern willst, dann solltest Du die Eigenschaft RequestLive auf true setzen. Das hat allerdings auch keine Auswirkung, wenn Du Daten aus mehreren Tabellen verwendest mit Join oder Where. Dann kannst Du nur noch direkt über die Tabellen gehen oder alles in eine temporäre Tabelle schreiben mit SELECT .. INTO. Aus der musst Du dann wieder zuückaktualisieren, was im Multiuser Betrieb natürlich unangenehme Effekte haben kann. :roteyes:

plautzer 7. Aug 2004 20:11

Re: Query und Dbgrid
 
Also query.append und query.insert funktioniert bei mir nicht-> fehlermeldung: Query ist nur zu lesen nicht zum schreiben da.

Ich habe ja keine problem eine table zum eintragen und ne query zum filtern zu benutzen. Das hatte ich auch anfangs vor, jedoch konnte ich es nicht umsetzen.
Gibts dafür irgentein tutorial dafür oda ne kleine beschreibung wie man Table und query zusammen im dbgrid verwendet?

Thx,

Palutzer

Union 7. Aug 2004 20:37

Re: Query und Dbgrid
 
Zitat:

Zitat von plautzer
Also query.append und query.insert funktioniert bei mir nicht-> fehlermeldung: Query ist nur zu lesen nicht zum schreiben da.

Poste doch einfach mal die Query, damit wir genauer sehen können was Sache ist.

plautzer 8. Aug 2004 13:37

Re: Query und Dbgrid
 
.. ich hatte nen kleinen denkfehler :coder2:

Es funzt jetzt.

Danke euch.

Plautzer


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 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