AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Existiert ein Feldname einer TQuery ?
Thema durchsuchen
Ansicht
Themen-Optionen

Existiert ein Feldname einer TQuery ?

Ein Thema von spacewolf · begonnen am 25. Nov 2005 · letzter Beitrag vom 3. Okt 2018
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#1

Existiert ein Feldname einer TQuery ?

  Alt 25. Nov 2005, 09:02
Datenbank: MS Access :-) • Version: BDE • Zugriff über: BDE
kann man eigendlich feststellen ob ein bestimmter Feldname in der TQuery Existiert.
In der Registry kann man z.B. per
registry.valueexists('feld') ermitteln ob eine value existiert. Geht das auf per

TQuery.ValueExists('feldname') ???

euer Andreas
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#2

Re: Existiert ein Feldname einer TQuery ?

  Alt 25. Nov 2005, 09:13
Du könntest es mit Query.FieldList.Find('Feldname') machen, wenn das Result NIL ist, hat er ein entsprechendes Feld nicht in der Query gefunden.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Existiert ein Feldname einer TQuery ?

  Alt 25. Nov 2005, 09:46
Hallo Andreas,

musst du fürchten, dass sich der Tabellenaufbau zwischen zwei Programmstarts verändert hat? In dem Fall solltest du zu Beginn des Programms prüfen, dass der Aufbau deinen Erwartungen entspricht. Das geht mit den Methoden der Database-Komponente: GetTableNames() und GetFieldNames().

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 3. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#4

Re: Existiert ein Feldname einer TQuery ?

  Alt 25. Nov 2005, 10:28
Hallo spacewolf,

Delphi-Quellcode:
if Query1.FindField('Fldname') = nil then begin
  // Feld fehlt
end;
mfg
eddy
  Mit Zitat antworten Zitat
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#5

Re: Existiert ein Feldname einer TQuery ?

  Alt 25. Nov 2005, 17:34
danke Leute das funzt super !!!
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
107 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Existiert ein Feldname einer TQuery ?

  Alt 30. Sep 2018, 10:59
Aber wie gebe ich denn dann an in welcher Tabelle er das Feld suchen soll ?
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#7

AW: Existiert ein Feldname einer TQuery ?

  Alt 30. Sep 2018, 11:05
Delphi-Quellcode:
query1.sql.text := 'select * from InDerTabelleWirdDasFeldGesucht';
query1.open;
if Query1.FindField('Feldname') = nil then begin
  // Feld fehlt
end;
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
107 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Existiert ein Feldname einer TQuery ?

  Alt 30. Sep 2018, 12:20
Habe es jetzt so gelöst

Code:
Procedure Tform1.UpgradeBetreiber;
var Tabname : String;
begin

Try
  ztable1.TableName := 'Betreiber';
  Tabname := ztable1.TableName;
  ztable1.Active := true;
  if ztable1.Fields.FindField('Webseite') = nil
      then
      Begin // Feld erzeugen
        zquery1.SQL.Text := 'ALTER TABLE '+Trim(TABNAME)+' ADD COLUMN Webseite TEXT'+ ';';
        zquery1.ExecSQL ;
      End;

  if ztable1.Fields.FindField('Support') = nil
      then
      Begin // Feld erzeugen
        zquery1.SQL.Text := 'ALTER TABLE '+Trim(TABNAME)+' ADD COLUMN Support TEXT'+ ';';
        zquery1.ExecSQL ;
      End;

Ztable1.active := false;
except

End;
end;
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
107 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Existiert ein Feldname einer TQuery ?

  Alt 30. Sep 2018, 12:21
Delphi-Quellcode:
query1.sql.text := 'select * from InDerTabelleWirdDasFeldGesucht';
query1.open;
if Query1.FindField('Feldname') = nil then begin
  // Feld fehlt
end;
Danke das ist auch Cool !und wieder so einfach wenn man drauf kommt ...
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#10

AW: Existiert ein Feldname einer TQuery ?

  Alt 30. Sep 2018, 16:06
Nahezu jedes DBMS bietet irgendwie Zugriff auf virtuelle Tabellen mit Datenbankinformationen.

für MS Access z.B.
SELECT NOT EXISTS(SELECT * FROM sys.columns WHERE name = 'columnNameAND object_id = OBJECT_ID('tableName'))

Viele bieten aber inzwischen auch "allgemeine" im SQL standardisierte VIEWs mit Zugriff auf die systemeneigenen Daten.
Hierfür wäre das z.B. information_schema.columns
https://www.mssqltips.com/sqlservert...schemacolumns/
https://www.postgresql.org/docs/9.5/...a-columns.html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 08:06 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