AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Parameter geht nicht mit ParambyName
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Parameter geht nicht mit ParambyName

Ein Thema von stefan681 · begonnen am 14. Apr 2010 · letzter Beitrag vom 14. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2      
stefan681

Registriert seit: 16. Jun 2005
18 Beiträge
 
#1

SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:02
Datenbank: Advantage • Version: 9.10 • Zugriff über: Advantage Komponeten
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:
   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
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#2

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:05
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
  Mit Zitat antworten Zitat
stefan681

Registriert seit: 16. Jun 2005
18 Beiträge
 
#3

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:08
Hallo,

funktioniert auch nicht. Der Fehler bleibt.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#4

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:10
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?
  Mit Zitat antworten Zitat
stefan681

Registriert seit: 16. Jun 2005
18 Beiträge
 
#5

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:11
Ja, die Connction ist aktiv.

Leider kann man auf diese Datenbank nur mit diesen Komponeten zugreifen.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#6

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:17
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 Name"
(Das hat bei meinem SQLite auch geklappt... "=" wollte das mistding nicht...
  Mit Zitat antworten Zitat
stefan681

Registriert seit: 16. Jun 2005
18 Beiträge
 
#7

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:22
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.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#8

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:32
Och menno...
Ich hätte dir wirklich gerne geholfen aber gegen Fehler in der Komponente ( ) kann ich nix machen...
Ist zwar nicht so schön aber ich glaube du musst den Usernamen manuell einbauen...

tut mir leid
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:36
Sind die Komponenten evtl. nicht unicodefähig? Gibt es eine aktuellere Version?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#10

Re: SQL Parameter geht nicht mit ParambyName

  Alt 14. Apr 2010, 09:51
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?
Ich dachte das ist der unterstützte Zeichensatz (Bitte korregiere mich wenn ich falsch liege)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.
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