Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TAdsQuery - Kann Tabelle nicht öffnen (https://www.delphipraxis.net/21702-tadsquery-kann-tabelle-nicht-oeffnen.html)

mandumoal 6. Mai 2004 18:03


TAdsQuery - Kann Tabelle nicht öffnen
 
Hallo!

Ich arbeite mit den Advantage Database Komponenten TAdsConnection + TAdsTable + TAdsQuery.
Im Programm wird zur Laufzeit eine Tabelle geladen(funktioniert).
Dann will ich eine Sql Abfrage machen:
Delphi-Quellcode:
AdsQuery.SQL.Add('SELECT * FROM ' + AdsTable.TableName);
AdsQuery.Open;
Das funktioniert aber net, er sagt immer 'Could not open the specified table...'

Muss der Tabellenname mit Endung übergeben werden ( + '.adt')?
Muss der Befehl mit Open oder ExecSql ausgeführt werden?

Kann da jemand helfen?

mfg mandumoal

r_kerber 6. Mai 2004 18:27

Re: TAdsQuery - Kann Tabelle nicht öffnen
 
Hallo mandumoal,

du solltest entweder nur Query oder nur Table verwenden. Dieser Mix, wie Du ihn beschreibts geht zwar, bereitet aber nur Verwirrung!
Delphi-Quellcode:
AdsQuery.SQL.Add('SELECT * FROM tablename');
AdsQuery.Open;
Und anstelle von tablename schreibst Du den korrekten Tabellennamen!

mandumoal 6. Mai 2004 18:39

Re: TAdsQuery - Kann Tabelle nicht öffnen
 
Was heißt ich soll nur Query verwenden?

Ich kann doch mit einem TAdsQuery keine Tabellen öffnen...
Muss ich das dann alles per Sql machen also die Tabelle erstellen per sql, datensätze schreiben...

mandumoal 6. Mai 2004 20:38

Re: TAdsQuery - Kann Tabelle nicht öffnen
 
Kann ich mit einem Query eine Tabelle die schon von einem Table geöffnet ist überhaupt noch öffnen?
Mit dem Table kann ich sie nicht mehr öffnen, wenn ein Query sie offen hat.

??

mfg mandumoal

Leuselator 6. Mai 2004 22:10

Re: TAdsQuery - Kann Tabelle nicht öffnen
 
Du glaubst wahrscheinlich, das die TAdsQuery sich auf die TAdsTable beziehen müßte und dazu ja die TAdsTable erst geöffnet werden müßte - falsch!

TAdsTable (Delphi) kapselt nur die Ads-Tabelle (nicht Delphi) und gibt Dir Zugriff auf sie.

TAdsQuery (Delphi) greift also nicht auf TAdsTable (Delphi) sondern auf die Ads-Tabelle selbst zu (ebenso wie TAdsTable) Also kannst Du Dir die TAdsTable komplett sparen.

Hoffe das gesagte erhellt mehr, als es verwirrt?

Gruß

mandumoal 7. Mai 2004 12:43

Re: TAdsQuery - Kann Tabelle nicht öffnen
 
Mann, mann das dachte ich zuerst wirklich! *Schäm*

Aber es wurde dann klar als ich mit dem Query die gleiche Tabelle nicht mehr öffnen konnte, die schon mit Table offen war. (Fehlermeldung)

Wie kann man denn mit einer SQL-Anweisung eine Tabelle erstellen, in der man Felder vorgibt und sie mit Daten aus einer Tabelle füllt?

Ich meine jetzt nicht SELECT Feld1, Feld2 FROM ... sondern wie man die Tabelle dann umstrukturieren kann, also zum Beispiel noch ein Feld hinzufügen, das es in der urspünglichen Tabelle gar nicht gab und mit Daten füllen, die aus einem anderen Feld kommen, oder anderes...
Kann man die Ausgabe-Feldnamen des Querys verändern?
Also zum Beispiel SELECT Feld1 as Hallo, Feld2 as Welt FROM Tabelle WHERE ...

mfg mandumoal

mandumoal 7. Mai 2004 12:55

Re: TAdsQuery - Kann Tabelle nicht öffnen
 
Also ich habe jetzt rausgefunden das es mit AS wunderbar geht :-D

Und neue Felder kann ich mit ALTER ... ADD erstellen bzw mit DROP löschen oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 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