| Autor |
Beitrag |
SadPa
      
Beiträge: 28
Win 2000; Win XP
D7 Entp
|
Verfasst: So 12.12.04 19:14
Hey Leute,
verwende eine Paradox 7 Datenbank. Bei folgender Abfrage: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| PROCEDURE TForm1.Abfrage (Sender: TObject); BEGIN Query1.Active:=false; Query1.Sql.Clear; Query1.Sql.Add('Select * from Table1 where Institution =1'); Query1.Active:=true; END; |
krieg ich folgende Fehlermeldung  beim Ausführen der Prozedur im Programm.
Delphi-Quelltext 1:
| Im Projekt Project1.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung:'Unbekannte Datenbank Alias: Baum.db'. |
Verwende je eine Komponente TTable, TDatasource und TQuery. Baum.db ist die einzige Datenbank die verwendet wird! Und so unbekannt kann sie nicht sein, denn vor der Abfrage steht der Inhalt der DB problemlos im Query.
Die Ausgabe der Suche sollte eigentlich so funktionieren, daß das Suchergebnis in die gleiche Query hineingeschrieben wird, von der ich zuvor die Daten suche((, allerdings mit der Möglichkeit die alten Daten wieder anzuzeigen)).
Wie krieg ich´s um Laufen oder wo liegt der Fehler(mich mal Ausgeschlossen  )?
|
|
SadPa 
      
Beiträge: 28
Win 2000; Win XP
D7 Entp
|
Verfasst: So 12.12.04 21:16
Kann den Fehler jetzt näher eingrenzen.
Liegt wohl tatsächlich am Alias des Querys.
Hab gerade festgestellt, daß in der Objekt-Hierarchie vor meinem Query1 ein rotes Fragezeichen angezeigt wird
Hab mir mein Query nochmal angeschaut und sehe erstmal(  ) keinen Fehler. DataBaseName steht auf Baum.db und die Datasource steht (sowohl bei den Ergeignissen als auch bei den Eigenschaften)auf DataSource1.
Was mach ich falsch?
|
|
cartridge
      
Beiträge: 209
Win XP
D4 Prof,D6 Prof
|
Verfasst: So 12.12.04 21:35
Die Datenbank heißt ja nicht Query1 sondern Baum.db
Und so muss auch der SQL- Code lauten!
|
|
SadPa 
      
Beiträge: 28
Win 2000; Win XP
D7 Entp
|
Verfasst: So 12.12.04 21:41
Wie????
etwa in der Form
Baum.Sql.Clear; etc.?
Ich will doch aber, daß die gefundenen Daten in Query1 ausgegeben werden.
Naja, ich probiers einfach mal aus!
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: So 12.12.04 21:46
| SadPa hat folgendes geschrieben: | Kann den Fehler jetzt näher eingrenzen.
Liegt wohl tatsächlich am Alias des Querys.
Hab gerade festgestellt, daß in der Objekt-Hierarchie vor meinem Query1 ein rotes Fragezeichen angezeigt wird
Hab mir mein Query nochmal angeschaut und sehe erstmal( ) keinen Fehler. DataBaseName steht auf Baum.db und die Datasource steht (sowohl bei den Ergeignissen als auch bei den Eigenschaften)auf DataSource1.
Was mach ich falsch? |
Ich zitiere mal aus der OH:
| Zitat: | | Mit der Eigenschaft DataSource können Sie die Datenquelle festlegen, der aktuelle Feldwerte entnommen werden, um sie in gleichnamige Parameter in die SQL-Anweisung der Abfrage aufzunehmen. |
Iow: Welches DataSet ist bei DataSource1 zugewiesen? Was passiert, wenn Du in der IDE die Query aktivierst? Heisst die Tabelle wirklich Table1 (wäre zumindest sehr ungewöhnlich) oder verwechselst Du das mit der Komponente Table1?
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: So 12.12.04 21:47
| cartridge hat folgendes geschrieben: | Die Datenbank heißt ja nicht Query1 sondern Baum.db
Und so muss auch der SQL- Code lauten! |
Sorry, aber das ist...ähmm...unkorrekt  - kannst Du das bitte mal näher erläutern?
Ach, ich glaube, Du meinst Table1?
Also
Delphi-Quelltext
Zuletzt bearbeitet von Robert.Wachtel am So 12.12.04 23:27, insgesamt 1-mal bearbeitet
|
|
SadPa 
      
Beiträge: 28
Win 2000; Win XP
D7 Entp
|
Verfasst: So 12.12.04 22:15
@Robert: Dein Zitat aus der OH klingt echt gut;- wäre schön, wenn´s auch so einfach in der Praxis laufen würde...
Delphi-Quelltext 1:
| Welches DataSet ist bei DataSource1 zugewiesen? |
Table1!, und dort als DataBaseName Baum.db und als TableName auch Baum.db, was mich ehrlich gesagt auch gerade etwas wundert!
Was passiert, wenn Du in der IDE die Query aktivierst?das gleiche! nix- außer oben genannte Fehlermeldung Delphi-Quelltext 1:
| Heisst die Tabelle wirklich Table1 (wäre zumindest sehr ungewöhnlich) oder verwechselst Du das mit der Komponente Table1? | Dachte schon das die so heißt! Würde mich sonst schon sehr wundern! Hab als andere Prozedure im gleichen Programm eine Filter/Filtered Anweisung drin die auch mit Table1 funktioniert!
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: So 12.12.04 23:24
| SadPa hat folgendes geschrieben: | @Robert: Dein Zitat aus der OH klingt echt gut;- wäre schön, wenn´s auch so einfach in der Praxis laufen würde...
| Zitat: | | Welches DataSet ist bei DataSource1 zugewiesen? |
Table1!, und dort als DataBaseName Baum.db und als TableName auch Baum.db, was mich ehrlich gesagt auch gerade etwas wundert!
| Zitat: | | Was passiert, wenn Du in der IDE die Query aktivierst? |
das gleiche! nix- außer oben genannte Fehlermeldung | Zitat: | | Heisst die Tabelle wirklich Table1 (wäre zumindest sehr ungewöhnlich) oder verwechselst Du das mit der Komponente Table1? |
Dachte schon das die so heißt! Würde mich sonst schon sehr wundern! Hab als andere Prozedure im gleichen Programm eine Filter/Filtered Anweisung drin die auch mit Table1 funktioniert! |
1. Du verwechselst v.a. Tabelle der Datenbank mit der TTable-Komponente. Die Tabelle heisst wohl Baum.db, die TTable-Komponente Table1.
2. Deine Query1 benötigt keine Parameter - lass dort also den DataSource-Eintrag weg. Lies nochmal mein Zitat aus der OH. Das wird eigentlich für Master-Detail-Relationen verwendet.
3. Kannst Du Deine Table1 in der IDE aktivieren?
4. Benutzt Du eine TDatabase-Komponente?
5. Hast Du den Alias der Datenbank korrekt angelegt und heisst der wirklich Baum.db? (Taucht der Eintrag in der Dropdown-Liste der DataBaseName-Eigenschaft auf?)
6. DataBaseName kann auch der Pfad auf die Tabellendateien sein.
|
|
SadPa 
      
Beiträge: 28
Win 2000; Win XP
D7 Entp
|
Verfasst: Di 14.12.04 09:50
| Zitat: | | Du verwechselst v.a. Tabelle der Datenbank mit der TTable-Komponente. Die Tabelle heisst wohl Baum.db, die TTable-Komponente Table1. |
-ist wohl so!!!  (also Select * from Baum.db, statt Table1 ??)
| Zitat: | | Deine Query1 benötigt keine Parameter - lass dort also den DataSource-Eintrag weg. |
bei Eigenschaften oder Ereignisse oder bei beidem?
| Zitat: | | Kannst Du Deine Table1 in der IDE aktivieren? |
Ja, aber wozu?
| Zitat: | | Benutzt Du eine TDatabase-Komponente? |
Nein, bis jetzt noch nicht. Hab auch keinerlei Erfahrung damit. Brauch ich die hier den?
| Zitat: | | Hast Du den Alias der Datenbank korrekt angelegt und heisst der wirklich Baum.db? |
keine Ahnung! Denke aber auch das hier eine Fehlerquelle liegt. Aber wie weise ich dem Query einen Alias zu? Aus der Hilfe werd ich hier nicht wirklich schlau.
| Zitat: | | Taucht der Eintrag in der Dropdown-Liste der DataBaseName-Eigenschaft auf? |
nein!
Moderiert von UGrohne: Delphi- durch Quote-Tags ersetzt.
|
|
SadPa 
      
Beiträge: 28
Win 2000; Win XP
D7 Entp
|
Verfasst: Di 14.12.04 10:27
| Zitat: | | Kannst Du Deine Table1 in der IDE aktivieren? |
Sorry, hab mich vertan  , das geht doch nicht  !!!
Moderiert von UGrohne: Delphi- durch Quote-Tags ersetzt.
|
|