![]() |
Datenbank: Advantage • Version: 9.10 • Zugriff über: Advantage Komponeten
SQL Parameter geht nicht mit ParambyName
Hallo,
ich habe folgendes Problem: Seit dem Umstieg auf Delphi 2010 funktioniert der Zugriff mit Parameter bei einer SQL-Abfrage nicht mehr mit 'ParambyName'. Hier der Code:
Delphi-Quellcode:
Die Fehlermeldung lautet:
procedure TForm1.Button1Click(Sender: TObject);
var Query : TADSQuery; begin Query := TADSQuery.Create(self); Query.DatabaseName := AdsConnection1.Name; Query.SQL.Clear; Query.SQL.Add('SELECT * FROM Benutzer WHERE LOGINNAME = :PName'); Query.ParamByName('PName').Value := 'Programmierung'; Query.Active := true; Label1.Caption := Query.FieldByName('Passwort').AsString; Query.Active := false; Query.Free; end; The field namend 'PName' has a DataType that is not supported. In Delphi 7 hat das alles noch funktioniert. Auch wenn ich schreibe:
Delphi-Quellcode:
bringt keine Veränderung.
Query.ParamByName('PName').asString := 'Programmierung';
Die Datenbank ist eine Advantage 9.1. Hat jemand schon einen ähnlichen Fehler gehabt? Gruss Stefan |
Re: SQL Parameter geht nicht mit ParambyName
Versuch es mal mit:
Delphi-Quellcode:
ich hab die komponente leider nicht in meinem delphi drinne. Probier es einfach mal aus ;-)
Query.Parameters.ParamByName('XYZ').AsString := 'BlaBlaBla';
// oder Query.Params.ParamByName('XYZ').AsString := 'BlaBlaBla'; |
Re: SQL Parameter geht nicht mit ParambyName
Hallo,
funktioniert auch nicht. Der Fehler bleibt. |
Re: SQL Parameter geht nicht mit ParambyName
ist denn die "AdsConnection1" überhaupt aktiv?
Vielleicht kann der Fehler ja daran liegen... (Ich bin kein experte... Ich prüfe nur verschiedene Möglichkeiten) Hast du versucht mit den Standard-Komponenten (Wenn das geht) oder anderen Komponenten auf diese DB zu zu greifen? |
Re: SQL Parameter geht nicht mit ParambyName
Ja, die Connction ist aktiv.
Leider kann man auf diese Datenbank nur mit diesen Komponeten zugreifen. |
Re: SQL Parameter geht nicht mit ParambyName
kannst du bitte mal kennzeichnen in welcher zeile der fehler genau kommt?
Beim "Query.Active := True" nehme ich an, oder? Welchen Datentyp hat die Spalte "LOGINNAME" ? Oder Probiere mal anstatt der "=" ein "like" aus. "[...] WHERE LOGGINNAME like :PName" (Das hat bei meinem SQLite auch geklappt... "=" wollte das mistding nicht... |
Re: SQL Parameter geht nicht mit ParambyName
Ja, der Fehler tritt auf, wenn die Query auf Active gesetzt wird.
Auch das 'Like' geht nicht. Seltsam ist halt, das der gleiche Code in Delphi 7 funktioniert. Es müsste ein Fehler in den Komponenten sein, der Herstellter sagt aber, bei ihm würde das so funktionieren. |
Re: SQL Parameter geht nicht mit ParambyName
Och menno... :cry:
Ich hätte dir wirklich gerne geholfen aber gegen Fehler in der Komponente ( :x ) kann ich nix machen... Ist zwar nicht so schön aber ich glaube du musst den Usernamen manuell einbauen... tut mir leid :( |
Re: SQL Parameter geht nicht mit ParambyName
Sind die Komponenten evtl. nicht unicodefähig? Gibt es eine aktuellere Version?
|
Re: SQL Parameter geht nicht mit ParambyName
Zitat:
Ich dachte das ist der unterstützte Zeichensatz (Bitte korregiere mich wenn ich falsch liege) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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