Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery und # in Abfrage (https://www.delphipraxis.net/43977-tquery-und-abfrage.html)

Sven Janssen 11. Apr 2005 15:54

Datenbank: Informix • Zugriff über: ODBC

TQuery und # in Abfrage
 
Sobald ich in meiner Abfrage ein # habe, erhalte ich beim Aufruf von
Delphi-Quellcode:
myq.Active:=TRUE;
eine Zugriffsverletzung.

Die SQL Syntax lautet :
Delphi-Quellcode:
select * from tabelle where Nummer = "#00000"
Führe ich das Statement allerdings direkt im SQL Server aus, dann werden mir die Daten korrekt angezeigt. Scheinbar ein Problem von Tquery?!

Benutze Delphi Version war 6 Professional.

Gruß Sven Janssen

bttb930 11. Apr 2005 16:03

Re: TQuery und # in Abfrage
 
mach mal zwei ' statt der doppelten ", vielleicht geht das?

Sven Janssen 11. Apr 2005 16:21

Re: TQuery und # in Abfrage
 
Nein geht nicht. Hätte mich ehrlich gesagt auch mehr als gewundert.

Sven

r_kerber 11. Apr 2005 17:07

Re: TQuery und # in Abfrage
 
Welchen Datentyp hat Nummer? Und wie hast Du der Query dieses Statement zugewiesen?

[Edit] Ach ja, und welchen ODBC-Treiber verwendest Du und welche Informix-Version?

Sven Janssen 11. Apr 2005 17:13

Re: TQuery und # in Abfrage
 
Der Datentyp ist char(6).
An der Informix Version liegt es nicht, da das Statement auf dem SQL Server funktioniert.

per myq.sql.add('...'); füge ich dem TQuery das Statement zu.

Es funktioniert sonst auch alles, bis auf dieses Statement.
Es gibt auch keinerlei Probleme beim laden von Daten in dem ein # vorhanden ist, sondern nur dann wenn ich dieses im select Statement explizit anfrage.

Sven

RavenIV 11. Apr 2005 17:18

Re: TQuery und # in Abfrage
 
Zitat:

Zitat von Sven Janssen
Sobald ich in meiner Abfrage ein # habe, erhalte ich beim Aufruf von
Delphi-Quellcode:
myq.Active:=TRUE;
eine Zugriffsverletzung.

Die SQL Syntax lautet :
Delphi-Quellcode:
select * from tabelle where Nummer = "#00000"
Führe ich das Statement allerdings direkt im SQL Server aus, dann werden mir die Daten korrekt angezeigt. Scheinbar ein Problem von Tquery?!

Benutze Delphi Version war 6 Professional.

Gruß Sven Janssen

mach doch mal
Delphi-Quellcode:
select * from tabelle where Nummer LIKE "%00000"
sollte auch deinen wert finden.

bttb930 11. Apr 2005 17:19

Re: TQuery und # in Abfrage
 
dann mach mal WHERE Nummer = :Nummer und setz den Parameter über ParamByName('Nummer').AsString := '#00000' oder so.

r_kerber 11. Apr 2005 17:20

Re: TQuery und # in Abfrage
 
Und welcher ODBC-Treiber? Informix-eigener (IMHO recht schrottig) oder Data Direct (formerly known as Merant) Und welcher Informix-Client? Hier gibt's zum Beispiel von IBM einen Patch für XP!

Sven Janssen 11. Apr 2005 18:23

Re: TQuery und # in Abfrage
 
Zitat:

Zitat von RavenIV
Delphi-Quellcode:
select * from tabelle where Nummer LIKE "%00000"
sollte auch deinen wert finden.

Das # gehört zum Schlüssel. Und ein Like auf 50.000 Datensätze?
Ne lass mal ;-)

Ich hab mich mal gerade schlau gemacht ( ich habe ODBC und Informix nicht eingerichtet ).
Informix Version ist die letzte SE. Standard ODBC Treiber von Windows XP und dazu von IBM das Informix Connect Glide SDK.

Ich hab mich auch einmal auf der Mainsoft Seite wegen Data Direct umgeschaut. Werde nicht ganz schlau aus der Seite. Frei? Payware? Download?

Gruß
Sven

Sven Janssen 12. Apr 2005 07:29

Re: TQuery und # in Abfrage
 
Zitat:

Zitat von bttb930
dann mach mal WHERE Nummer = :Nummer und setz den Parameter über ParamByName('Nummer').AsString := '#00000' oder so.

Sehr gute Idee!
Damit ist das Problem gelöst.

Vielen Dank für die Antwort.

Nachtrag:

Zu früh gefreut, es geht immer noch nicht :-/



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 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