![]() |
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:
Das funktioniert aber net, er sagt immer 'Could not open the specified table...'
AdsQuery.SQL.Add('SELECT * FROM ' + AdsTable.TableName);
AdsQuery.Open; Muss der Tabellenname mit Endung übergeben werden ( + '.adt')? Muss der Befehl mit Open oder ExecSql ausgeführt werden? Kann da jemand helfen? mfg mandumoal |
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:
Und anstelle von tablename schreibst Du den korrekten Tabellennamen!
AdsQuery.SQL.Add('SELECT * FROM tablename');
AdsQuery.Open; |
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... |
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 |
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ß |
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 |
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 13:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz