Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Reproduzierbarer fehler in ADO - oder steh ich im Wald? (https://www.delphipraxis.net/89514-reproduzierbarer-fehler-ado-oder-steh-ich-im-wald.html)

hermannhass 1. Apr 2007 14:48

Datenbank: msserver - mysql • Zugriff über: via ADO

Reproduzierbarer fehler in ADO - oder steh ich im Wald?
 
Hallo
ich habe folgendes, reproduzierbares Problem in Delphi 7 und Delphi2006.
es tritt auf unter dem Zugriff auf MSServer und via ODBC auf mysql
Einfaches Programm
Eine tadoconnection, tadodatset, tdadasource, tnavigator und tdbgrid normal "vernetzt"
Commandtext: "select * from <Datei>" egal welche.
Alles funktioniert einwandfrei!!!!
Nun aber setzt man im dataset auf asynchronen Zugriff,
also die Executeoptions auf [eoAsyncFetchNonBlocking].
Nun der Fehler!!!!!!!!
Das grid füllt sich, ohne den letzten und ersten Datensatz!!!!!
first und last springen auf den zweiten oder vorletzten Datensatz!
nach first einmal next und zweimal prior und der wirklich erste Datensatz kommt
das gleiche nach Last, proior und zweimal next. und der echte letzte kommt!
nach weiterem last oder first erscheint wieder nur der zweite oder vorletzte
eine erklärung?
ich benötige den asynchronen Zugriff für meine grossen Dateien.
oder habe ich hier ein Probleme mit ados auf meinem XP
NACHTRAG: Tritt auf einem anderen Rechner auch auf!
Gruß Hermann

Bernhard Geyer 1. Apr 2007 20:28

Re: Reproduzierbarer fehler in ADO - oder steh ich im Wald?
 
Ist vermutlich kein Fehler in ADO sondern in den ADOExpress/dbGo-Wrappern von Delphi.

Könntest du Testhalber mal dieses verhalten für MS SQL-Server mit den Kompos von Core Labs nachvollziehen?

hermannhass 1. Apr 2007 22:05

Re: Reproduzierbarer fehler in ADO - oder steh ich im Wald?
 
wie gesagt,
der fehler tritt beim asynchonen Zugriff nur auf.
Habe mal die Corelab installiert, nur haben die keine asynchronen Zugriff.
oder ist das "fetch-all=false" eine art asynchrone Implementierung?

grenzgaenger 1. Apr 2007 22:52

Re: Reproduzierbarer fehler in ADO - oder steh ich im Wald?
 
Zitat:

Zitat von hermannhass
wie gesagt,
der fehler tritt beim asynchonen Zugriff nur auf.
Habe mal die Corelab installiert, nur haben die keine asynchronen Zugriff.
oder ist das "fetch-all=false" eine art asynchrone Implementierung?

yep :-D

dann musste dir die daten selbst holen, wenn du sie brauchst...

PS: persönlich würd ich kein TDBzeugs verwenden. mach es manuell, dann weisste was du hast :-) :angel2:

hermannhass 1. Apr 2007 23:55

Re: Reproduzierbarer fehler in ADO - oder steh ich im Wald?
 
wie meinst Du das? Würde ich gerne....
wie kann ich denn noch mehr "lower-Level" die sqldaten abrufen?


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