Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TAdoQuery Fehler "Parameter sind vom falschen Typ.." (https://www.delphipraxis.net/176706-tadoquery-fehler-parameter-sind-vom-falschen-typ.html)

luisk 21. Sep 2013 18:20

Datenbank: MySQL • Version: 5.0.21 • Zugriff über: ADO Win 7

TAdoQuery Fehler "Parameter sind vom falschen Typ.."
 
Hallo,
habe nach dem Rechnerwechsel von XP auf Win 7 ein Problem im Entwicklermode Delphi 6
Runetime .exe läuft.

Code:
   l_ADOQuery1:=TAdoQuery.Create(self);
   l_ADOQuery1.Connection:=Frm_Mainwindow.ADOConnection1;
   l_ADOQuery1.SQL.Clear;
   l_ADOQuery1.Parameters.Clear;

   ls:=' update `t_user` set `PW` = :param where `userid_pk` ='''
                        + inttostr(in_user_id)+''';';

   l_ADOQuery1.SQL.Add( ls );


   l_Ado_Parameter:=l_ADOQuery1.Parameters.ParamByName('param');


   l_memStream.Position:=0;

   l_Ado_Parameter.LoadFromStream(l_memStream,ftBlob);

   li := ADOQuery_ExecSQL(l_ADOQuery1);
Bei l_ADOQuery1.SQL.Add( ls );
bekomme ich im Debugmode folgende Fehlermeldung:
"Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches
oder sind miteinander unvereinbar"

Unter XP läufts seit Jahren, unter Win 7 nur in der .exe
------------------

Hat jemand ne Idee, woran´s liegen kann?

Luis

Bernhard Geyer 21. Sep 2013 18:34

AW: TAdoQuery Fehler "Parameter sind vom falschen Typ.."
 
Wieso keine nativer Zugriff (z.B. mit Zeos, DevArt oder FireDac)?

Den riesen-Umweg über ADO (und evtl. noch ODBC) hat sehr viel versteckte Stolperfallen und Fehler.
Bei MySQL und Delphi gabs (ob noch gibt weiß ich nicht) mal eine Seite mit nötige Einstellungen wenn man sowas wie ADO und/oder ODBC verwendet damit es klappt.

luisk 21. Sep 2013 20:04

AW: TAdoQuery Fehler "Parameter sind vom falschen Typ.."
 
Zeos, DevArt oder FireDac kenne ich nicht,
es lief ja bisher über ADO sehr gut.

Bernhard Geyer 21. Sep 2013 23:38

AW: TAdoQuery Fehler "Parameter sind vom falschen Typ.."
 
Zitat:

Zitat von luisk (Beitrag 1229398)
Zeos, DevArt oder FireDac kenne ich nicht,

Dann solltest du dich mal über diese besseren Alternativen Informieren
Zitat:

Zitat von luisk (Beitrag 1229398)
es lief ja bisher über ADO sehr gut.

Da würde ich sagen das du bisher einfach Glück gehabt hast.

Bisher hast du den Weg

Anwendung -> dbGo -> ADO/OleDB -> ODBC -> MySQl.DLL -> MySQL-Datenbank

Sinnvoller ist (wenn man z.B. die DevArt-Komponenten-Einsetzt

Anwendung -> DAC for MySQl -> MySQL-Datenbank

Statt 4 (!) Zwischenschichten hat man nur eine. Wo treten wohl mehr Fehler/Inkompatibilitäten auf?

sx2008 22. Sep 2013 07:14

AW: TAdoQuery Fehler "Parameter sind vom falschen Typ.."
 
Diese accent grave (`) haben in SQL übrigens nichts verloren.
Um Stringliterale zu begrenzen werden einfache Hochkommas verwendet.
Um Feld- und Tabellennamen zu quoten verwendet man doppelte Anführungszeichen.

luisk 22. Sep 2013 12:33

AW: TAdoQuery Fehler "Parameter sind vom falschen Typ.."
 
mmm, diese accent grave (`) habe ich von phpmyadmin übernommen.
Wenn ich sie weglasse kommt der Fehler auch,

Komischer Weise gibts in der exe keine Probleme,
und im Delphi-Entwicklungssystem läufts auf 2 Rechnern XP und Win 8,
bei Win 7 gibts die Fehlermeldung.


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