AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO - Tabellenname herausfinden anhand eines DBEdits
Thema durchsuchen
Ansicht
Themen-Optionen

ADO - Tabellenname herausfinden anhand eines DBEdits

Ein Thema von Matt · begonnen am 10. Jan 2004 · letzter Beitrag vom 18. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#1

ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 10. Jan 2004, 22:01
Hallo Boardies,

weiß zufällig jemand, wie ich anhand eines TDBEdits an den dahinter stehenden Tabellennamen (Name in der Datenbank, nicht von der TADOTable) komme? Hatte gedacht das ginge über die DataSource, aber da habe ich mich irgendwie geirrt!

Für Tipps und Anregungen bin ich wie immer sehr dankbar!

Gruß Matt
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#2

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 12. Jan 2004, 09:27
naja, hab grad ma gekuckt.. kam zum ergebniss, dass bei mir der tabellenname in der tadotable eingetragen ist und alle anderen komponenten z.b. datasource draufzugreifen..
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#3

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 12. Jan 2004, 09:46
hat mit dbedit nix zu tun, aber vielleicht ...

alle verfügbaren tabellen der db werden in ein stringlist geschrieben:
Delphi-Quellcode:
var SL: TStrings;

 {----- stringlist die alle tabelle der datenbank übergeben bekommt ---------}
 SL := TStringList.Create;

 ADOconnection.GetTableNames(SL, false); {alle tabellen aus der db auslesen}
  Mit Zitat antworten Zitat
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#4

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 12. Jan 2004, 11:51
Danke Markon,

das mit allen Tables kenne ich, nützt mir aber leider nix, da ich immer nur die eine brauche, von dem dbedit, in dem ich gerade bin

Gruß Matt
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 12. Jan 2004, 12:01
TDBEdit -> TDataSource -> TADOTable.TableName. das ist der name der Tabelle in der Datenbank.
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#6

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 12. Jan 2004, 13:39
Zitat von r_kerber:
TDBEdit -> TDataSource -> TADOTable.TableName. das ist der name der Tabelle in der Datenbank.
hmm, das wollte er eigentlich nicht, hatte ich auch schon in erwägung gezogen, aber:

Zitat von matt:
weiß zufällig jemand, wie ich anhand eines TDBEdits an den dahinter stehenden Tabellennamen (Name in der Datenbank, nicht von der TADOTable) komme? ...
weiß aber auch nich wie's anders funzt...
  Mit Zitat antworten Zitat
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#7

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 13. Jan 2004, 17:11
Danke Ihr beiden, dass Ihr Euch den Kopf so zerbrecht deswegen.

Leider habe ich es immernoch nicht hinbekommen!

Ich brauche den Name als String und bei

a := tdbedit(sender).DataSource.????? ist Ende!!!

Gruß Matt
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#8

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 14. Jan 2004, 14:15
Wenn Du Dir angewöhnen könntest, Deine Querys wie folgt zu gestalten:

SQL-Code:
select Feld1
       ,Feld2
       ...
       ,Feldn
       ,'TabellenNameas AusTabelle -- auf diese Zeile kommet es an!
  from TabellenName
dann wäre das hier die Lösung:
TDBEdit(Sender).DataSource.DataSet.FieldByName('AusTabelle').AsString
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#9

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 15. Jan 2004, 21:03
@Leuselator
Danke für den Hinweis, werde mich in Zukunft bemühen den Code richtig darzustellen!
Danke auch für Deinen Tipp, nur leider kann ich es nicht nachvollziehen, wie Du das meinst.

Gruß Matt
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#10

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 16. Jan 2004, 05:55
Hey Matt: ich wollte Dich nicht bezüglich der Gestaltung (im Sinne von Darstellung) deiner Query's schulmeistern: was ich meinte ist die Zeile:
,'TabellenNameas AusTabelle -- auf diese Zeile kommet es an! der Teil nach den 2 Minuszeichen ist nur ein Kommentar und kann weggelassen werden.
Also angenommen, Du hättest 2 Tabellen mit folenden Feldern:
Code:
Tabelle: Kunden
Felder: Vorname,
         Name,
         Geburtstag

Tabelle: Artikel
Felder: Nummer,
         Bezeichnung,
         Preis
dann würdest Du folgende 2 Querys dafür bauen:
SQL-Code:
select Vorname
       ,Name
       ,Geburtstag
       ,'KundenAS AusTabelle
  from Kunden
und:
SQL-Code:
select Nummer
       ,Bezeichnung
       ,Preis
       ,'ArtikelAS AusTabelle
  from Artikel
Nun kannst Du in Delphi den Namen der Tabelle erfahren, indem Du nach dem Feld "AusTabelle" fragst. Dieses Feld ist statisch (in allen Datensätzen gleicher Wert) und hat bei der ersten Query den Inhalt: "Kunden", bei der 2. : "Artikel".
Also kannst Du im OnKlick-Ereignis eines DB-Edits den Wert aus dem dazugehörigen DataSet ermitteln:
Delphi-Quellcode:
procedure TForm1.DBEdit1Click(Sender: TObject);
var MeineTabelle : String;
begin
  // Onlinhilfe lesen: TDataSet.FindField
  // und: Assigned()
  if Assigned(TDBEdit(Sender).DataSource.DataSet.FindField('AusTabelle'))
    then MeineTabelle := TDBEdit(Sender).DataSource.DataSet.FieldByName('AusTabelle').AsString;
end;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:11 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