Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ODBC - Fehlermeldung mit der ich nix anfangen kann (https://www.delphipraxis.net/25492-odbc-fehlermeldung-mit-der-ich-nix-anfangen-kann.html)

tuxic 7. Jul 2004 14:36


ODBC - Fehlermeldung mit der ich nix anfangen kann
 
Hallo,
bei folgender abfrage schmeißt ADO eine Exception alla
"[Microsoft][ODBC Paradox Driver] 3 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben."

SQL-Code:
Select id, n, rn, ra, name, vorname, z, c, s, a, p FROM teil WHERE ((n = "0") AND (rn = "11" OR p = "333"))
Was ist an dieser SQL-Abfrage verkehrt?

Daniel

shmia 7. Jul 2004 14:42

Re: ODBC - Fehlermeldung mit der ich nix anfangen kann
 
Zitat:

Zitat von tuxic
Was ist an dieser SQL-Abfrage verkehrt?

Stringliterale werden laut SQL/92 in einfache Hochkommas eingeschlossen:
SQL-Code:
Select id, n, rn, ra, name, vorname, z, c, s, a, p FROM teil WHERE ((n = '0') AND (rn = '11' OR p = '333'))
Deine Feldnamen sind übrigens erschreckend nichtssagend. Der Feldname "id" ist mit Vorsicht zu geniesen; es könnte ein reserviertes Word sein.

tuxic 7. Jul 2004 14:47

Re: ODBC - Fehlermeldung mit der ich nix anfangen kann
 
Zitat:

Deine Feldnamen sind übrigens erschreckend nichtssagend.
^^

Zitat:

Der Feldname "id" ist mit Vorsicht zu geniesen; es könnte ein reserviertes Word sein.
glücklicherweise nicht, eine andere SQL-Abfrage funktioniert einwandfrei

Danke

Daniel

tuxic 7. Jul 2004 15:42

Re: ODBC - Fehlermeldung mit der ich nix anfangen kann
 
Hi,
also irgendwie komme ich von einer Excption zu anderen.
Um das mal zu erklären, ich baue hier gerade von BDE auf ADO um.

Anscheinend gibt es da wohl doch extreme unterschiede.

Nach dem der SELECT nun funktioniert, macht das INSERT ärger. Ich habs mit folgendem Beispiel versucht:
SQL-Code:
INSERT INTO teilnehmer (netzwerk) VALUES (20)
Doch leider kommt eine Exception mit "Zugriffsverletzung bei Adresse 1F453E6E in Modul 'msado15.dll'".

Kann doch eigentlich nicht an dem INSERT liegen, oder kann man wirklich in knapp 60 Zeichen solch Mist verzapfen? :mrgreen:

Mit folgendem Codeschnipsel versuche ich den INSERT durchzuführen:

query = tadoquery

Delphi-Quellcode:
  query.Close;
  query.SQL.Clear;

  query.SQL.Text := 'INSERT INTO teilnehmer (netzwerk) VALUES (20)';

  query.ExecSQL;
Wo liegt mein Fehler??

Daniel

shmia 7. Jul 2004 16:03

Re: ODBC - Fehlermeldung mit der ich nix anfangen kann
 
Zitat:

Zitat von tuxic
Doch leider kommt eine Exception mit "Zugriffsverletzung bei Adresse 1F453E6E in Modul 'msado15.dll'".

Also ich würde zunächst mal MDAC auf Version 2.7 oder 2.8 updaten.
MDAC Downloads
Falls du Access benutzt ist auch ein Update der Jet-Engine sinnvoll.
Du kannst übrigens INSERT-Anweisungen ohne Parameter direkt über die ADOConnection absetzen:
Delphi-Quellcode:
   ADOConnection1.Execute("INSERT INTO ...");


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