Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL error : type mismatch (https://www.delphipraxis.net/151993-sql-error-type-mismatch.html)

alex-91 8. Jun 2010 13:05

Datenbank: BDE • Version: k.a • Zugriff über: k.a

SQL error : type mismatch
 
Hallo!

Also ich habe eine SQL Abfrage und möchte das Ergebnis in einem DBGrid anzeigen lassen. Als ich nur
Delphi-Quellcode:
 WHERE Inventarnummer = "'+(nummer)+'"
hatte, hat es wunderbar funktioniert :S
jz hab ich die Abfrage erweitert und bekomme folgende fehlermeldung:

Project Kustodius.exe raised exeption class EDBEngineError with message 'Type mismatch in expression.'. Process stopped. Use Step or Run to continue.

Hier der Quellcode:

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var nummer: string;
begin
 nummer:=Edit1.Text;
 Query1.Active:=false;
 Query1.SQL.Clear;
 Query1.SQL.Add('SELECT Inventarnummern.Inventarnummer, Geratetyp.Typ, Raume.Raumnummer, Raume.Raumbezeichnung, Details.Modell, Details.Baujahr, Inventarnummern.Status FROM Inventarnummern, Raume, Geratetyp, Details WHERE (Inventarnummern.Inventarnummer = "'+(nummer)+'") AND (Raume.ID = Inventarnummern.ID_Raum) AND (Geratetyp.ID = Inventarnummern.Geratetyp) AND (Details.ID = Inventarnummern.ID_Details)');
 Query1.Active:=true;
end;
Hat jemand eine Idee wo der Fehler liegt ?
Danke , alex-91

DeddyH 8. Jun 2010 13:10

AW: SQL error : type mismatch
 
Von welchem Typ ist denn Inventarnummer?

alex-91 8. Jun 2010 13:15

AW: SQL error : type mismatch
 
alpha

DeddyH 8. Jun 2010 13:20

AW: SQL error : type mismatch
 
Versuch es einmal mit SQL-Parametern.
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var nummer: string;
begin
 nummer:=Edit1.Text;
 Query1.Close;
 Query1.SQL.Text := 'SELECT Inventarnummern.Inventarnummer, Geratetyp.Typ, Raume.Raumnummer, Raume.Raumbezeichnung, Details.Modell, Details.Baujahr, Inventarnummern.Status FROM Inventarnummern, Raume, Geratetyp, Details WHERE (Inventarnummern.Inventarnummer = :nummer) AND (Raume.ID = Inventarnummern.ID_Raum) AND (Geratetyp.ID = Inventarnummern.Geratetyp) AND (Details.ID = Inventarnummern.ID_Details)');
 Query1.ParamByName('nummer').Value := nummer;
 Query1.Open;
end;

alex-91 8. Jun 2010 13:28

AW: SQL error : type mismatch
 
dann kommt : [Error] Unit1.pas(260): String literals may have at most 255 elements

mkinzler 8. Jun 2010 13:31

AW: SQL error : type mismatch
 
Du kansnt Text auf einmal nur 255 Zeichen übergeben.

khh 8. Jun 2010 13:42

AW: SQL error : type mismatch
 
Zitat:

Zitat von alex-91 (Beitrag 1026886)
dann kommt : [Error] Unit1.pas(260): String literals may have at most 255 elements

dann versuchs mal mit sql.clear, sql.add anstatt SQL.text.

alex-91 8. Jun 2010 13:46

AW: SQL error : type mismatch
 
so weit hob is ah verstaundn, is si hoid vorher ausgunga :S
wos soi i jz mochn ??

DeddyH 8. Jun 2010 13:51

AW: SQL error : type mismatch
 
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var nummer: string;
begin
 nummer:=Edit1.Text;
 Query1.Close;
 Query1.SQL.Text := 'SELECT Inventarnummern.Inventarnummer, Geratetyp.Typ, Raume.Raumnummer, Raume.Raumbezeichnung, Details.Modell, Details.Baujahr, Inventarnummern.Status ';
 Query1.SQL.Add('FROM Inventarnummern, Raume, Geratetyp, Details ');
 Query1.SQL.Add('WHERE (Inventarnummern.Inventarnummer = :nummer) ');
 Query1.SQL.Add('AND (Raume.ID = Inventarnummern.ID_Raum) ');
 Query1.SQL.Add('AND (Geratetyp.ID = Inventarnummern.Geratetyp) ');
 Query1.SQL.Add('AND (Details.ID = Inventarnummern.ID_Details)');
 Query1.ParamByName('nummer').Value := nummer;
 Query1.Open;
end;

alex-91 8. Jun 2010 14:00

AW: SQL error : type mismatch
 
habs jz wieder umgeändert auf .clear .add und .active=true und die anweisung ein bisschen verkürzt.
leider noch imma zu kurz - obwohls vorher geklappt hat :(

hab dass jz wieder augf nur 1 bedinungg umgeändert .. jz klappts wieder ...
kann man di anweisung vll auf 2 aufteilen ???

lg


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 1 von 5  1 23     Letzte »    

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