AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL => zugriff auf Feld unbekannten Namen's
Thema durchsuchen
Ansicht
Themen-Optionen

SQL => zugriff auf Feld unbekannten Namen's

Ein Thema von Klaus D. · begonnen am 10. Apr 2004 · letzter Beitrag vom 11. Apr 2004
Antwort Antwort
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#1

SQL => zugriff auf Feld unbekannten Namen's

  Alt 10. Apr 2004, 13:27
Ostern wünsch ich !!

folgendes Problem:
Ich weise einer Query nach Bedarf verschiedene Tabellen zu,
möchte aber auf ein bestimmtes Feld zugreifen ohne den konkreten Namen zu wissen,
weiß nur das es sich um ein TAutoInc-Field handelt.
..achso es handelt sich um ADS-Tabellen.
Ich möchte den Wert der sich gerade in jenem Feld(TAutoInc) befindet in eine andere
Tabelle schreiben.wie kann ich das bewerkstelligen ??

Danke im voraus
Klaus
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#2

Re: SQL => zugriff auf Feld unbekannten Namen's

  Alt 10. Apr 2004, 15:27
Hallo Klaus!

Ich denke Du brauchst den Namen deines unbekannten Feldes. Um ihn herauszufinden musst Du den Aufbau der Query untersuchen und nach einem Feld suchen das vom Typ „ftAutoInc“ ist. Ich würde das so machen:

Delphi-Quellcode:
with Query do
   for i := 0 to FieldCount -1 do
   case FieldDefs.Items[i].DataType of
      ftString : // Zeichen- oder String-Feld
      ftInteger: // 32-Bit-Integer-Feld
      ftAutoInc: // 32-Bit-Integer-Zählerfeld
   end;
end;
Den Namen des Feldes kannst Du mit FieldDefs.Items[i].Name abfragen.
So! Wenn man schon den Namen kennt, dann ist der Zugriff auf sein Wert kein Problem mehr!

Gruß Markus

[edit=r_kerber]Delphi-Tags gesetzt. Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#3

Re: SQL => zugriff auf Feld unbekannten Namen's

  Alt 10. Apr 2004, 19:14
Danke für Deine Antwort.

ich habe aber das Problem, wenn ich der Query.SQL:
einen String mit einen 'Like' zuweise findet die Case-Schleife kein AutoInc Field.


Delphi-Quellcode:
frmDataMod.SQLDetailQuery.Close;
frmDataMod.SQLDetailQuery.SQL.Clear;
frmDataMod.SQLDetailQuery.SQL.Text:=' SELECT * FROM '+V_Tabellenname+' WHERE UPPER( '+V_Spaltenname+' )like :p1';
frmDataMod.SQLDetailQuery.Open;
mit SELECT * From Tabelle ==> klappt es
WARUM?? das Problem ist biestimmt 'like';

Tschö Klaus

[edit=r_kerber]Code- durch Delphi-Tags ersetzt. Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#4

Re: SQL => zugriff auf Feld unbekannten Namen's

  Alt 11. Apr 2004, 00:19
Hi Klaus!

Soweit ich weiß verwendet man "LIKE" um alle Strings aus einer Datenmenge rauszufischen, die einem Muster entsprechen. Du untersuchst ein Feld, das als vom Typ ftAutoInc (also 32-Bit-Integer -> kein String) ist. Ich glaube, dass es deswegen mit dem "LIKE" nicht klappt. Versuch einmal bitte statt "LIKE" einfach "=" zu verwenden.

Gruß Markus
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: SQL => zugriff auf Feld unbekannten Namen's

  Alt 11. Apr 2004, 01:04
Rein theoretisch könnte Markus recht haben.
Die WHERE-Clause läuft im Query-Plan vor der SELECT-Clause. In der WHERE-Clause gibt es einen Typcast auf String um den Like Operator verwenden zu können.
Das Problem ist dabei, dass der Wert im SELECT davon nicht abhängig sein darf.
Teste das mal mit mehreren Tabellen und unterschiedlichen Abfragen. Kommt dabei immer wieder so ein Schwachfug raus, würde ich eine Mail an den Hersteller der DB schreiben oder im allwissenden Internet nach einem Work around suchen.

Waidmann's heil :mrgeen:
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#6

Re: SQL => zugriff auf Feld unbekannten Namen's

  Alt 11. Apr 2004, 10:07
Moin
Ihr habt meinen Verdacht bestätigt.
Danke und noch ein schönes Osterfest
Tschö Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:00 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