AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Abfragen des aktuellen Wertes einer Tabelle
Thema durchsuchen
Ansicht
Themen-Optionen

Abfragen des aktuellen Wertes einer Tabelle

Ein Thema von Flash68 · begonnen am 20. Okt 2011 · letzter Beitrag vom 20. Okt 2011
Antwort Antwort
Seite 1 von 3  1 23      
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#1

Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 09:39
Datenbank: MSSQL • Version: 2008R2 Express • Zugriff über: Delphi/Ado
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 09:40
Prima

P.S.: Hast Du auch eine Frage dazu?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#3

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 09:48
Ja wie ich an die Werte des aktuell dargestellten Datensatz/spalte des dbgrids bzw. der DBEdit komme, oder ob ich das anders angehen muß.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 09:51
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');
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#5

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 10:14
Ist das dann auch der aktuelle wert und kann ich das benutzen wenn ich in die nächste Zeile wechsel?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 10:22
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 10:23
Das ist der Wert des aktuellen Datensatzes.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#8

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 10:29
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 10:31
Erstens geht das auch kürzer:
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]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (20. Okt 2011 um 11:20 Uhr)
  Mit Zitat antworten Zitat
Flash68

Registriert seit: 24. Apr 2006
102 Beiträge
 
Delphi XE2 Architect
 
#10

AW: Abfragen des aktuellen Wertes einer Tabelle

  Alt 20. Okt 2011, 11:37
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 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