Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Umstieg von BDE auf ADO (dbGo) (https://www.delphipraxis.net/78056-umstieg-von-bde-auf-ado-dbgo.html)

GuenterS 28. Sep 2006 12:15

Datenbank: SQL Server • Version: 2000 • Zugriff über: BDE; ADO

Umstieg von BDE auf ADO (dbGo)
 
Momentan verwenden wir noch die BDE und wollen über kurz oder lang auf etwas anderes wie ADO (dbGo) umsteigen.

Die BDE bietet ein TUpdateObject an, mit welchem man Queries, welche Joins enthält editieren kann, jedoch finde ich dies nicht bei den dbGO Komponenten.

Meine Query:
SQL-Code:
SELECT A.Feld1, A.Feld2, A.Feld3, B.Feld4, B.Feld5, C.Feld6, C.Feld7, D.Feld8
FROM A
INNER JOIN B ON A.Key1 = B.Key1
INNER JOUN C ON A.Key2 = C.Key2
LEFT JOIN D ON B.Key2 = D.Key2
Ich kann im DBGrid die Werte zwar ändern, aber immer wenn ich zur nächsten Zeile wechsle bekomme ich die Fehlermeldung "Im Project1.exe ist eine Exception der Klasse EOleException mit der Meldung 'Die Ereignisbehandlung des Consumers rief eine nicht reentrante Methode beim Provider auf' aufgetreten"

Gibt es einen einfachen Weg, diese Query doch editierbar zu machen?

Peinhard 28. Sep 2006 12:31

Re: Umstieg von BDE auf ADO (dbGo)
 
Kommt die Exception auch an die Oberfläche oder ist sie nur im Debug-Modus zu 'sehen'? Verhält sich von der Exception abgesehen sonst alles wie gewünscht?

GuenterS 28. Sep 2006 12:34

Re: Umstieg von BDE auf ADO (dbGo)
 
Wenn ich das Programm, nicht aus der IDE heraus starte kommt eine andere Fehlermeldung.

"Die zum Aktualisieren angegebene Zeile wurde nicht gefunden. Einige Werte wurden seit dem letzten Lesen ggf. geändert."

Diese Meldung bekomme ich auch in der IDE, allerdings erst nach der welche ich im ersten Posting geschrieben habe.

Die Änderung wird schlussendlich aber übernommen. Trotzdem ist das so keine Lösung.

Gibt es mit ADO/dbGo eine Möglichkeit, dieses Problem zu Lösen?

GuenterS 29. Sep 2006 09:49

Re: Umstieg von BDE auf ADO (dbGo)
 
Ich habe mitlerweile herausgefunden, dass das Problem an eine Float Spalte liegt, immer wenn ich diese bearbeiten möchte, kommt dieser Fehler.

Ich vermute, dass er versucht den alten Wert in der DB zu suchen und nicht findet, aufgrund von Rundungen/Genauigkeiten.

Hat jemand eine Idee wie man dieses Problem lösen könnte?


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