Hallo zusammen,
es ist bestimmt schon öfter gesagt worden aber bisher war ADO für mich noch nicht so interessant. Nun sollen in der Firma aber alle BDE-Applikationen auf ADO umgearbeitet werden und damit hab ich ein Problem. Folgendes Scenario: Suchmaske mit einem DBGrid und einem TEdit für den Suchtext. Bei jeder Änderung soll sofort gesucht werden und abhängig ob Zahl oder Buchstabe nach Kundennummer oder Name. Das Handling und das generieren des SQL sind kein Problem. Nun startet die Suche aber bspw. mit der ID=1 und das hat zur Folge das das SQL so aussieht: SELECT ... WHERE ID >= 1 ORDER BY ID. Die Tabelle hat aber ca. 3Mil. Datensätze. Wenn ich das Rattern der Festplatte richtig interpretiere, dann versucht ADO die 3Mil. alle auf den localen Client zu schaufeln. Hm... also hab ich für CursorLocation clUserServer versucht - bekomme aber die Fehlermeldung das keine Bookmarks unterstützt werden die für mehrzeilige Darstellungen (sprich DBGrid) notwendig sind. Mit der BDE hat das ganze tadellos funktioniert. Wie bekomme ich ADO dazu die 3Mil. in kleineren Häppchen vom Server zu holen. Eine Einschränckung über die Abfrage ist aber nicht erwünscht, da der Anwender auch im DBGrid durch die Daten scrollen soll.
Mit CacheSize und ExecuteOptions hab ich auch schon rumprobiert, aber das hat irgendwie überhaupt keinen Einfluß außer das nach dem Open der Cursor nicht auf dem ersten Datensatz sondern auf irgendeinem folgenden steht :-((.
Ich verwende Delphi5 mit einem TADODataset und dem MS Provider for Oracle.
Ich hoffe mir kann hier jemand auf die Sprünge helfen.
Thanks im voraus
Falk
es ist bestimmt schon öfter gesagt worden aber bisher war ADO für mich noch nicht so interessant. Nun sollen in der Firma aber alle BDE-Applikationen auf ADO umgearbeitet werden und damit hab ich ein Problem. Folgendes Scenario: Suchmaske mit einem DBGrid und einem TEdit für den Suchtext. Bei jeder Änderung soll sofort gesucht werden und abhängig ob Zahl oder Buchstabe nach Kundennummer oder Name. Das Handling und das generieren des SQL sind kein Problem. Nun startet die Suche aber bspw. mit der ID=1 und das hat zur Folge das das SQL so aussieht: SELECT ... WHERE ID >= 1 ORDER BY ID. Die Tabelle hat aber ca. 3Mil. Datensätze. Wenn ich das Rattern der Festplatte richtig interpretiere, dann versucht ADO die 3Mil. alle auf den localen Client zu schaufeln. Hm... also hab ich für CursorLocation clUserServer versucht - bekomme aber die Fehlermeldung das keine Bookmarks unterstützt werden die für mehrzeilige Darstellungen (sprich DBGrid) notwendig sind. Mit der BDE hat das ganze tadellos funktioniert. Wie bekomme ich ADO dazu die 3Mil. in kleineren Häppchen vom Server zu holen. Eine Einschränckung über die Abfrage ist aber nicht erwünscht, da der Anwender auch im DBGrid durch die Daten scrollen soll.
Mit CacheSize und ExecuteOptions hab ich auch schon rumprobiert, aber das hat irgendwie überhaupt keinen Einfluß außer das nach dem Open der Cursor nicht auf dem ersten Datensatz sondern auf irgendeinem folgenden steht :-((.
Ich verwende Delphi5 mit einem TADODataset und dem MS Provider for Oracle.
Ich hoffe mir kann hier jemand auf die Sprünge helfen.
Thanks im voraus
Falk
Comment