Autor Beitrag
SourceMan
Hält's aus hier
Beiträge: 1

Win98 - WinXP / Linux
D7 / BDS 2006
BeitragVerfasst: Di 19.06.07 13:35 
Hallo Entwicklergemeinde....

Benutze gerade die SQLite Wrapper Komponenten von Aducom Software und habe ein Problem festgestellt:
Die Komponente TASQLite3Query kennt 2 properties MaxResult und StartResult, mit denen es möglich sein soll die Ergebnismenge einer SELECT Abfrage einzuschränken.
Jedoch funktioniert das irgendwie nicht.
Ich habe immer eine leere Ergebnismenge, sobald MaxResult auf > 0 gesetzt wurde.

Nun habe ich mich mal durch die Komponente gesteppt und festgestellt, dass diese properties (sofern gesetzt) zu Folge haben, dass intern versucht wird den SQL string um die Statements "limit" und "offset" zu erweitern. So wie ich es erwartet habe, jedoch wird zwischen dem ursprünglichen SELECT Statement und der Erweiterung LIMIT ein Nullbyte eingefügt.
(#0 Char(0)) - und da diese Komponente auf die sqlite3.dll zugreift gehe ich davon aus, dass das ganze dann später als PChar übergeben wird. Nun hätte ich erwartet, dass die Einschränkung der Ergebnismenge also keine Auswirkungen haben sollte, aber ich bekomme eine leere Ergebnismenge...

Kennt irgendjemand dieses Problem?

Ich muss dazusagen, dass ich den SQL string zuvor noch mit einem enthaltenen Parameter und der Methode "ParamByName" beeinflusse.... und ich benutze die Komponenten Version "2005.09.C Candidate Beta" (<-- aus Quelltext der unit)

und nun kommts noch dicker:

Ich habe mal versucht meinen SQL string um das LIMIT Statement selbst zu erweitern, also einfach per "SQL.Add" Methode hinten ein " LIMIT 10" anzuhängen. Das funktionierte auch nicht !!!!
Eine gegnprüfung, ob das LIMIT Statement überhaupt irgendwie funktioniert habe ich mit dem wunderschönen Tool "SQLite Admin" gemacht. ... und hier hat es funktioniert, was mich aber nun völlig durcheinander gebracht hat.

Also ich bin auf eure Erfahrungen und Kommentare gespannt.

Greetz
SourceMan

kleiner Nachtrag: Ich bin trotz einiger bekannter Schwierigkeiten ein großer Fan der DBX Treiberarchitektur - kennt jemand brauchbare SQLite Treiber für DBX ???