![]() |
Datenbank: BDE • Version: 5.1 • Zugriff über: TurboDB
Was bedeutet diese Fehlermeldung?
Liste der Anhänge anzeigen (Anzahl: 1)
Kann mir bitte jemand sagen was dieser Fehler bedeutet (siehe Anhang) ?
Er entsteht wenn ca 50 neue Datensätze hinzufüge. Ich habe ein Mastertable und 2 dazugehörige Detailtables. Ich leite ein mit: datamodule1.TourTable1.Append; fülle den datensatz mit:
Delphi-Quellcode:
Aber mit noch mehr daten als hier gezeigt.
datamodule1.TourTable1gccode.AsString := CacheName;
datamodule1.TourTable1CacheTime.AsString := CacheTime; datamodule1.TourTable1CacheName.AsString := CacheName; Zwischendurch fülle ich auch einen Detailtable mit daten nach obiger Methode. Und genau daran scheint es zu liegen. Denn wenn ich den code entferne funktioniert es gut. am ende kommt dann halt noch
Delphi-Quellcode:
In den Detailtable werden ca 400 Datensätze eingetragen.
datamodule1.WptsTable2.Post;
datamodule1.WptsTable2.Refresh; Wenn ich das Programm beende und wieder starte sind alle Datensätze ordnungsgemäß eingetragen. Und am Ende kommt auch der Fehler. Hat jemand eine Idee wie ich das beheben kann? Danke! |
AW: Was bedeutet diese Fehlermeldung?
Wurdest Du schon gefragt, warum es die BDE sein soll?
|
AW: Was bedeutet diese Fehlermeldung?
Kann man mit den TurboDB-Zugriffskompos auf BDE?(?) zugreifen?
Ich Tipp auf einen Implementierungsfehler von TurboDB. Was sagt der Taskmanager zur Speicherentwicklungs des Programms. In der Fehlermeldung steht ja: "Not enough memory" |
AW: Was bedeutet diese Fehlermeldung?
Warum BDE? FÜr so ein kleines Projekt ist das sicherlich ok und ich muss mich nicht extra in was neues einarbeiten.
Ja TurboDB kann auf BDE zugreifen es ist ja schließlich ein BDE replacement. Habe mal im Taskmanager den Speicher beobachtet während die Datensätze hinzugefügt werden. Da rührt sich nichts! Nur eine minimale Veränderung. Also daran kann es nicht liegen. Ich öffne die Mastertabelle und leite das hinzufügen von daten ein. währen dieser Prozedur öffne ich eine detailtabelle, füge daten hinzu und schließe diese Detailtabelle wieder. Dann erst schließe ich die mastertabelle. Ist das so richtig von der Logik her? |
AW: Was bedeutet diese Fehlermeldung?
Zitat:
Zitat:
Zitat:
Solange du die BDE drin hast wird das System/Programm unnötig komplex. hast du schon mal geschaut aus welcher Ecke die Fehlermeldung kommt? Falls es aus der TurboDB-Ecke kommt dürftest du doch den Aufrufstack sehen. |
AW: Was bedeutet diese Fehlermeldung?
Nur weil TurboDB ein BDE Replacement ist, heisst das nicht, dass man über die BDE-ODBC auf TurboDB zugreifen soll/kann.
Es bedeutet vielmehr "schmeiss BDE in die Tonne denn wir packen alles zum Migrieren dabei" |
AW: Was bedeutet diese Fehlermeldung?
Schon klar das BDE nicht mehr Zeitgemäß ist. Schon klar das ich mir was neues suchen muss. Was meint Ihr sollte ich nehmen für einfache Projekte?
Aber bei meinem jetztigen Projekt wird es wohl noch BDE bleiben. Daher weiter zum Problem: Aufrufstack: Kernelbase Raiseexecption +0x58 TDBDatabaseError $1b5 TDBDatabseCheck $15 TDBTable.MasterChanged $1B Was sagt mir das? |
AW: Was bedeutet diese Fehlermeldung?
Verwende doch mal Abfragen (TQuery) anstatt Tabellen (TTable) für deine Detailtabellen.
Eine TTable zieht immer alle Datensätze aus der Datenbank auch wenn beim Einsatz nur ein kleiner Teil angezeigt wird. Bei einer Query wenn nur die Datensätze geholt, die passend zur Mastertabelle gerade gebraucht werden. Ausserdem solltest du dir
Delphi-Quellcode:
sparen.
datamodule1.WptsTable2.Refresh;
|
AW: Was bedeutet diese Fehlermeldung?
Zitat:
Zitat:
|
AW: Was bedeutet diese Fehlermeldung?
Oder embedded-Varianten von richtigen DBMS, hat den Vorteil dass man dann gut Skalieren kann
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 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 by Thomas Breitkreuz