Zitat:
Beide felder in der where überprüfung sind in der Datenbank integer allerdings kann ich ohne inttostr garnicht erst ins programm weil da schon gesagt wird inkompatible typen string und int!
- 1. Du hast nur ein Feld in der Where clause
- 2. Gewöhne dir diese Stringbasteleien am besten gar nicht erst an.
Variable Werte in einem SQL Statement gehören halt auch in eine Variable
Delphi-Quellcode:
With ADOQuery
Do
Begin
SQL.Text :=
'
SELECT *' + #10 +
'
FROM USER_STAT' + #10 +
'
WHERE User_ID = :i_UserIDvar';
// Parse Statement um Variablen zu erkennen
Prepared := True;
// Parameterzuweisung
With Parameters
Do
ParamByName('
i_UserIDvar').Value := UserIDvar;
End;
// Ausführen
Open;
End;
Zitat:
also wenn ich das richtig verstehe sind die typen in der datenbank integers und deine variable da auch und du wandelst den integer in nen string um um ihn mit nem integer zu vergleichen das erscheint mir doch recht sonderbar.
Delphi-Quellcode:
UserIDvar:= 1;
StringVariable := 'Select * FROM USER_STAT WHERE user_id = '+IntToStr(UserIDvar) ;
Vom Prinzip her ist daran nichts Falsches.
StringVariable := 'Select * FROM USER_STAT WHERE user_id= 1' ;
edit: Shmia war wieder mal schneller.