Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Parameter geht nicht mit ParambyName (https://www.delphipraxis.net/150338-sql-parameter-geht-nicht-mit-parambyname.html)

stefan681 14. Apr 2010 09:02

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:
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;
Die Fehlermeldung lautet:

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:
   Query.ParamByName('PName').asString := 'Programmierung';
bringt keine Veränderung.

Die Datenbank ist eine Advantage 9.1.

Hat jemand schon einen ähnlichen Fehler gehabt?

Gruss

Stefan

stho 14. Apr 2010 09:05

Re: SQL Parameter geht nicht mit ParambyName
 
Versuch es mal mit:
Delphi-Quellcode:
Query.Parameters.ParamByName('XYZ').AsString := 'BlaBlaBla';
// oder
Query.Params.ParamByName('XYZ').AsString := 'BlaBlaBla';
ich hab die komponente leider nicht in meinem delphi drinne. Probier es einfach mal aus ;-)

stefan681 14. Apr 2010 09:08

Re: SQL Parameter geht nicht mit ParambyName
 
Hallo,

funktioniert auch nicht. Der Fehler bleibt.

stho 14. Apr 2010 09:10

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?

stefan681 14. Apr 2010 09:11

Re: SQL Parameter geht nicht mit ParambyName
 
Ja, die Connction ist aktiv.

Leider kann man auf diese Datenbank nur mit diesen Komponeten zugreifen.

stho 14. Apr 2010 09:17

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...

stefan681 14. Apr 2010 09:22

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.

stho 14. Apr 2010 09:32

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 :(

DeddyH 14. Apr 2010 09:36

Re: SQL Parameter geht nicht mit ParambyName
 
Sind die Komponenten evtl. nicht unicodefähig? Gibt es eine aktuellere Version?

stho 14. Apr 2010 09:51

Re: SQL Parameter geht nicht mit ParambyName
 
Zitat:

Zitat von DeddyH
Sind die Komponenten evtl. nicht unicodefähig? Gibt es eine aktuellere Version?

Hat das denn etwas mit dem Zuweisen von Parametern zu tun? :gruebel:
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.
Seite 1 von 2  1 2      

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