Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)... (https://www.delphipraxis.net/100380-ado-fehlermeldung-bei-leerer-tabelle-%3D-ohne-datensaetze.html)

bingo72 27. Sep 2007 12:02

Datenbank: Access • Version: 2000 • Zugriff über: ADO

ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)...
 
Hallo Leute!!

Ich lese aus einer Access-DB Daten aus, was auch herrlich funktioniert, solange man nicht auf eine Tabelle trifft, in der keine Datensätze enthalten sind:

Delphi-Quellcode:
ADOQuery1.Close;
  ADOQuery1.SQL.Text := 'SELECT ' +
                           'bez ' +
                        'FROM ' +
                           'tKassa ';
  ADOQuery1.Open;

  result := not ADOQuery1.IsEmpty;

  ADOQuery1.Close;
Sobald in dieser Tabelle keine DS enthalten sind crashed es mit der bekannten Meldung: 'Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz'

Jetzt bin ich aber darauf angewiesen, den ADOQuery wieder zu schliessen, da ich auch in weiterer Folge auch andere Abfragen machen will.

Hab ich generell einen Fehler in meinem Code?? Ich hab auch oft gelesen, daß es für den Delphi 5 ein Update des ADO gibt...nur ist der Link auf der Borland-Seite tot...vielleicht könnte mir ja jemand einen Tipp geben, wo ich das Update herbekomme oder es mir einfach senden?? (bingo72@yahoo.de)

Bitte um Hilfe!! :hello:

LG
Thomas

shmia 27. Sep 2007 12:21

Re: ADO Fehlermeldung bei leeren Datensatz...
 
Zitat:

Zitat von bingo72
Sobald in dieser Tabelle keine DS enthalten sind crashed es mit der bekannten Meldung: 'Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz'

Das ist ein altbekannter Bug in den ADO-Komponente.
Du brauchst das ADO Express Update #2.
http://info.borland.com/devsupport/delphi/mdac26.html

bingo72 27. Sep 2007 12:28

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Ja und der Link ist genau jener der in weiterer Folge ins Nirvana führt... :wall:

bingo72 27. Sep 2007 12:29

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Wiegesagt wenn schon der Link nicht funktioniert...vielleicht hat jemand die exe noch??

Bernhard Geyer 27. Sep 2007 12:29

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Zitat:

Zitat von bingo72
Ja und der Link ist genau jener der in weiterer Folge ins Nirvana führt... :wall:

Dann frag mal bei Borland direkt nach ob sie diesen Link aktualisieren können. Ist vermutlich ein "Verlust" der Abspaltung von CodeGear.

RavenIV 27. Sep 2007 12:36

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Zitat:

Zitat von bingo72
Ich lese aus einer Access-DB Daten aus, was auch herrlich funktioniert, solange man nicht auf eine Tabelle trifft, in der keine Datensätze enthalten sind:

Sobald in dieser Tabelle keine DS enthalten sind crashed es mit der bekannten Meldung: 'Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz'

Diesen Effekt kenn ich noch aus den BDE-Zeiten.
Da ist die BDE mit Fehlermeldung auf die Schnauze gefallen, wenn eine leere Tabelle angesprochen werden sollte.

Aus diesem Grund hab ich mir einen Workaround angewöhnt.
Lösche ich eine Tabelle aus dem Code heraus, schreibe ich immer wieder einen Dummy-Datensatz in die Tabelle.
Lege ich eine Tabelle neu an, schreibe ich immer einen Dummy-Datensatz in die Tabelle.
Dieser Dummy-Datensatz ist mir natürlich bekannt und ich kann ihn im Programmablauf bewusst ignorieren.

bingo72 27. Sep 2007 12:46

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Tja das mit dem Dummiesatz ist bei mir auch keine brauchbare Lösung...dafür sind es ein bißchen zuviele Tabellen und ein paar 1000 unterschiedliche Datenbanken von Kunden, die es auszulesen gilt!!

marabu 27. Sep 2007 12:46

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Zitat:

Zitat von bingo72
... vielleicht hat jemand die exe noch?? ...

You Got Mail

bingo72 27. Sep 2007 13:09

Re: ADO Fehlermeldung bei leerer Tabelle (= ohne Datensätze)
 
Vielen Dank!! Und es funktioniert... :thumb:


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