Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht !?
-
Hallo, ich habe folgendes immer noch bestehendes Problem.
Ich verwende für die Datensatz anzeige mittlerweile ein Funktion

Wenn ich nun meine Form öffne, wird folgendes ausgeführt:
bool TForm6::f_openall_query() { adoqu_alle->Close(); adoqu_alle->SQL->Clear(); adoqu_alle->SQL->Add("SELECT id,bezeichnung FROM tb_ftp ORDER BY bezeichnung asc"); adoqu_alle->Open(); return true; }Da gibt es keine Fehlermeldung, obwohl die Datenbank leer ist!!!
Wenn ich nun einen neuen Datensatz in die leere Datenbank eingebe und speichern möchte mit:
adoqu_save->SQL->Clear(); //Löschen der SQL Strings //Hinzufügen des SQL String adoqu_save->SQL->Add("INSERT INTO tb_ftp (bezeichnung,host,port,username)"); adoqu_save->SQL->Add("VALUES ('"+txt_bezeichnung->Text+"','"+txt_host->Text+"','"+a_port+"','"+txt_username->Text+"')"); adoqu_save->ExecSQL(); //INSERT Befehl ausführenwird danach unmittelbar wieder die funktion aufgerufen
f_openall_query();Und dann wird die Fehlermeldung "Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht" mir angezeigt, obwohl das ja eigentlich nicht sein kann, da ja ein Datensatz eingetragen wurde!
Wenn ich danach mein Programm schließe und neu öffne (mit Datensatz!) und einen neuen Datensatz speichern möchte, geht alles einwandfrei.
Ich habe ein TDataSource der Eigenschaft DataSet das TADOQuery zugewiesen.
Und das DataGrid habe ich dann halt mit dem DataSource verbunden.Ich weis einfach nicht mehr weiter

Wenn mir einer helfen kann, dem wäreich sehr verbunden.
Gruß
Thorsten
-
OK, danke für eure Bemühungen Jungs und Mädels. Ich bin der ganzen Sache mal auf den Grund gegangen und bin froh das es nicht an meiner Programmierung lag, sondern an dem Borland Builder und den ADO - Komponenten.
Diese Fehlermeldung ist ein bekanntes Problem und kann behoben werden, da es dafür ein Update gibt!
Die Patches bekommt man hier:
http://info.borland.com/devsupport/bcppbuilder/patches/
Zuerst sollte man sich das "C++Builder 5.0 Update #1" installieren und dann das "ADOExpress Update".
Wenn ihr dann beides installiert habt, müsst ihr euer Programm neu Kompilieren bzw. Projekt -> ... erzeugen.
Danach klappt alles wunderbar!Die ReadMe gibt es dazu hier: http://info.borland.com/devsupport/bcppbuilder/patches/ADOUpd1rdme.txt
Gruß
Thorsten