![]() |
Datenbank: Access • Zugriff über: SQL
Access SQL-Abfrage -> Fehler: Exception
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Sitze schon länger an dem Fehler und habe keine Ahnung was ich falsch mache.... Hier der CODE:
Delphi-Quellcode:
Die Fehlermeldung:
procedure TForm1.Button1Click(Sender: TObject);
begin with Query1 do begin sql.clear; sql.add('select * from Datennbank.KundenDB where Datennbank.Kunden-Nr=0'); Active:=true; open; if recordcount > 0 then begin first; while not EOF do begin //tu was next; //zum nächsten satz gehen end; //while end; //endif end; //beginn Zitat:
Ich hoffe ihr könnt mir helfen. :) Mit freundlichen Grüßen Piotr Dworaczek |
Re: Access SQL-Abfrage -> Fehler: Exception
Auf den ersten Blick kann ich mit der Meldung nicht allzuviel anfangen. Was ich mir vorstellen kann, was problematisch sein könnte, ist das '-' in deinem Tabellennamen. Fasse die Namen mal in " (Dopp. Anführungzeichen / bei MS-SQL) bzw. ´ (Back-Ticks / bei MySQL).
Das muss nicht die Lösung für das angesprochene Problem sein, aber potentielle mathem. Operatoren und sonstige Sonderzeichen in Bezeichnern sollte man sich grundsätzlich angewöhnen zu quoten, um nicht u.U. an anderer Stelle damit auf die Nase zu fallen. Edit: Mir fällt nochwas auf. "Datennbank" scheint ein Catalog zu sein, "KundenDB" eine Tabelle. Demnach müsste "Datennbank.Kunden-Nr" auch eine Tabelle sein, und die ist schwer auf 0 zu prüfen ;) (Nebenbei hast du in "Datennbank" ein n zu viel.) |
Re: Access SQL-Abfrage -> Fehler: Exception
Der Tipp mit dem '-' war schon mal gut. :) Jetzt steht in der Fehlermeldung, dass 1 Parameter erwartet wurde ... vorher waren es ja 2 Parameter, die erwartet wurden. :)
Ich habe den recordcount gelöscht, aber es hatte keine Auswirkungen auf die Fehlermeldung. Trotzdem Danke! Aber die Frage ist noch offen :) |
Re: Access SQL-Abfrage -> Fehler: Exception
Zitat:
|
Re: Access SQL-Abfrage -> Fehler: Exception
Sorry, aber ich weiss nicht so genau was du meinst. :oops:
Bin halt noch Anfänger. :) |
Re: Access SQL-Abfrage -> Fehler: Exception
Delphi-Quellcode:
So vieleicht. Ich nehme an, Kunden-Nr ist ein Feld der Tabelle KundenDB. Dann mußt Du es auch als solches ansprechen. Bei deiner Originalschreibweise würde eine Tabelle Kunden-Nr gesucht werden und diese auf 0 verglichen werden (was keinen Sinn macht).
sql.add('select * from Datennbank.KundenDB where "Datennbank.KundenDB.Kunden-Nr"=0');
Grüße, Uli |
Re: Access SQL-Abfrage -> Fehler: Exception
Bei Access kann man sich nur in einer Datenbank bewegen. Also ist die Schreibweise "Datenbank.KundenDB" unzulässig.
Hier mal ein Beispiel für eine korrekte Abfrage:
Delphi-Quellcode:
// die Zuweisung an sql.Text erspart uns den sql.Clear
// das Feld KundenNr wird in aller Regel ein String (z.B. VARCHAR(20)) sein // man hätte bei der WHERE Klausel den Namen der Tabelle auch weglassen können, // aber das soll ja nur zeigen, wie man's schreiben darf ADOQuery1.sql.Text := 'select * from KundenTabelle where KundenTabelle.KundenNr=' + QuotedStr('4711'); |
Re: Access SQL-Abfrage -> Fehler: Exception
Vielen Dank für die schnellen und sehr guten Antworten. Nun kann ich die Access-Datenbank auslesen... ohne Fehler :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 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