![]() |
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? |
AW: Abfragen des aktuellen Wertes einer Tabelle
Zitat:
PS: Genau dafür wurde der Debugger erfunden ... nun muß man ihn nur noch benutzen. Wir können da nichts machen, da wir deinen Code ja nicht kennen. |
AW: Abfragen des aktuellen Wertes einer Tabelle
Zitat:
Delphi-Quellcode:
als varianter Datentyp oder als Cast auf einen konkreten Typ:
dbg_autor.datasource.DataSet.FieldByName('<Feldname>').Value
Delphi-Quellcode:
dbg_autor.datasource.DataSet.FieldByName('<Feldname>').asInteger
|
AW: Abfragen des aktuellen Wertes einer Tabelle
Wenn man weiß, welches Dataset es ist, kann man sich den Umweg über das DBGrid doch sparen, das sollte ja nur ein Beispiel meinerseits sein. Wenn man nämlich dieser Kette nachgeht und Datasource oder Dataset sind nicht zugewiesen, dann muss es ja knallen, sobald man auf die Felder zugreift.
|
AW: Abfragen des aktuellen Wertes einer Tabelle
Hallo Zusammen,
kann ich bei einem DBGrid ähnlich wie bei einem Stringgrid die einzelnen Zellen abfragen. /* Beispiel Stringgridabfrage wert:=stringgrid1.cells(x,y); Wie lautet ein vergleichbarer Befehl für das DGBrid Gruß Joachim |
AW: Abfragen des aktuellen Wertes einer Tabelle
Ich habe eine tabelle die aus Autoren besteht und in der ich auch deren Webseite eintragen möchte und wollte nur wenn keine eingetragen ist nach der suchen mit dem Button, aber ich habe festgestellt das so ein Googlesuche darin ganz praktisch ist und lasse den Button jetzt immer enabled.
Danke nochmal für die Hilfe. |
AW: Abfragen des aktuellen Wertes einer Tabelle
Ein datensensitives Control ist über eine Datenquelle mit einem DataSet verknüpft. Ich würde immer über dieses gehen ich käme/rasiere ja auch mich und nicht mein Bild im Spiegel ( :wink: )
|
AW: Abfragen des aktuellen Wertes einer Tabelle
Ach was :mrgreen:
|
AW: Abfragen des aktuellen Wertes einer Tabelle
wie sieht das Beispiel vom Stringgrid für ein DBGrid in Programmcode aus ?
Gruß Joachim |
AW: Abfragen des aktuellen Wertes einer Tabelle
Ich glaube du hast das Prinzip nicht verstanden, das GRID ist nur die Anzeige.
|
AW: Abfragen des aktuellen Wertes einer Tabelle
ich arbeite mich Stück für Stück ran :-)
Meine Absicht bestand darin eine CSV-Datei in ein DBGrid zu lesen. Für meine Zwecke ist das Arbeiten mit Stringgrids wohl besser. Gruß Joachim |
AW: Abfragen des aktuellen Wertes einer Tabelle
Nein, warum? Lese die CSV-Datei doch gleich in ein DataSet ein (z.B. ein CSVDataSet; ist Teil der JVCL)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 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