![]() |
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 |
AW: Abfragen des aktuellen Wertes einer Tabelle
Prima :thumb:
P.S.: Hast Du auch eine Frage dazu? |
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ß.
|
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'); |
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?
|
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. |
AW: Abfragen des aktuellen Wertes einer Tabelle
Das ist der Wert des aktuellen Datensatzes.
|
AW: Abfragen des aktuellen Wertes einer Tabelle
Ich hab mir folgendes erstellt:
Delphi-Quellcode:
was ich dann in die Formcreate Ereignis eingefügt habe und zusätzlich in das Ereignis ColEnter um auf den wechsel der zeile zureagieren
Procedure TFRM_NeuerAutor.NullCheck;
begin if dbg_autor.datasource.DataSet.FieldByName('Webseite').isnull then But_GoogleSuche.Enabled := true else But_GoogleSuche.Enabled := false end; aber obwohl die nächste Zeile einen Wert in dem Feld hat ist der Button trotzdem enabled. |
AW: Abfragen des aktuellen Wertes einer Tabelle
Erstens geht das auch kürzer:
Delphi-Quellcode:
und zweitens ist der Code im OnAfterScroll des zugrundeliegenden Datasets wohl besser aufgehoben, wie Markus schon sagte.
But_GoogleSuche.Enabled := dbg_autor.datasource.DataSet.FieldByName('Webseite').isnull;
[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] |
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 02:47 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