Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Abfragen des aktuellen Wertes einer Tabelle (https://www.delphipraxis.net/163883-abfragen-des-aktuellen-wertes-einer-tabelle.html)

Flash68 20. Okt 2011 09:39

Datenbank: MSSQL • Version: 2008R2 Express • Zugriff über: Delphi/Ado

Abfragen des aktuellen Wertes einer Tabelle
 
Hallo zusammen,

ich möchte gern einmal den Inhalt des aktuellen selektierten Datensatzes abfragen. Zum einen möchte ich schauen ob eine Spalte Null ist und aber auch die Werte der anderen Spalten auslesen und dann weiterverwenden.

Gruß

Flash

DeddyH 20. Okt 2011 09:40

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Prima :thumb:

P.S.: Hast Du auch eine Frage dazu?

Flash68 20. Okt 2011 09:48

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Ja wie ich an die Werte des aktuell dargestellten Datensatz/spalte des dbgrids bzw. der DBEdit komme, oder ob ich das anders angehen muß.

DeddyH 20. Okt 2011 09:51

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Das datensensitive Control hängt normalerweise an einer Datasource, welcher wiederum an einem Dataset hängt. Letzteres gilt es abzufragen (Fields, FieldValues, FieldByName sind Kandidaten dafür).
Delphi-Quellcode:
if DBGrid.Datasource.Dataset.FieldByName('Wuppdi').IsNull then
  ShowMessage('Steht nix drin');

Flash68 20. Okt 2011 10:14

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Ist das dann auch der aktuelle wert und kann ich das benutzen wenn ich in die nächste Zeile wechsel?

mkinzler 20. Okt 2011 10:22

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Dort steht immer den Wert der selektierten Zeile/Datensatz drinnen.
Du kannst auf den Wechsel der Zeile reagieren (z.B. Event AfterScroll), dann steht der neue Wert in den Feldern.

DeddyH 20. Okt 2011 10:23

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Das ist der Wert des aktuellen Datensatzes.

Flash68 20. Okt 2011 10:29

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Ich hab mir folgendes erstellt:

Delphi-Quellcode:
Procedure TFRM_NeuerAutor.NullCheck;
begin
  if dbg_autor.datasource.DataSet.FieldByName('Webseite').isnull then But_GoogleSuche.Enabled := true
    else But_GoogleSuche.Enabled := false
end;
was ich dann in die Formcreate Ereignis eingefügt habe und zusätzlich in das Ereignis ColEnter um auf den wechsel der zeile zureagieren

aber obwohl die nächste Zeile einen Wert in dem Feld hat ist der Button trotzdem enabled.

DeddyH 20. Okt 2011 10:31

AW: Abfragen des aktuellen Wertes einer Tabelle
 
Erstens geht das auch kürzer:
Delphi-Quellcode:
But_GoogleSuche.Enabled := dbg_autor.datasource.DataSet.FieldByName('Webseite').isnull;
und zweitens ist der Code im OnAfterScroll des zugrundeliegenden Datasets wohl besser aufgehoben, wie Markus schon sagte.

[edit] Anders ausgedrückt: wenn Du immer dieselbe Datenbasis (also dieselben Felder) verwendest, dann kannst Du den Code direkt im OI im OnAfterScroll-Event des Datasets (TTable, TQuery, etc.) einfügen. IIRC wird beim Open automatisch ein First aufgerufen, was dieses Event auslösen müsste (ohne Gewähr). Sobald Du zur Laufzeit den aktiven Datensatz wechselst wird es aber immer ausgelöst. [/edit]

Flash68 20. Okt 2011 11:37

AW: Abfragen des aktuellen Wertes einer Tabelle
 
das funktioniert soweit, nur leider gibt es dann beim starten/compilieren des Programms einen Zugriffsfehler:00000394

und wie kann ich jetzt einen Inhalt eines Feldes auslesen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr.
Seite 1 von 3  1 23      

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