![]() |
Datenbank: dbase • Version: IV • Zugriff über: SQL
update failed ?
Delphi 5, dbase IV
Ich habe das Problem, das ich bestimmte Datensätze weder löschen noch laden(lesen) kann Beim Versuch es zu löschen kommt die Fehlermeldung "update failed". Wie kann die Fehlermeldung "update failed" grundsätzlich entstehen? Wie kann man das verhindern? Code:
Delphi-Quellcode:
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
begin//2
try SQLSpritzgangTabelle.Delete; // Datensatz löschen except SQLSpritzgangTabelle.Cancel; raise; end; end;//2 if SQLSpritzgangTabelle.UpdatesPending then // SQL Datenmenge aktualisieren begin //4 try SQLSpritzgangTabelle.ApplyUpdates; except raise; {raise the exception to prevent a call to CommitUpdates!} end; If lokalgeloeschteDateiaktiv then begin //5 sAktivesProgramm := SQLSpritzgangTabelle.FieldByName('PRGNAME').AsString; ModalResult := mrOk; end;//5 end;//4 |
Re: update failed ?
Grüß dich,
schon mal überprüft, ob du Schreibrechte hast? Kannst du Datensätze einfügen? Und setz doch mal den Code oben in [delphi]-Tags. Dann ist das ganz als Code lesbar und man hat sogar Einrückungen :zwinker: mfg |
Re: update failed ?
Hallo,
ja ich habe Schreibrechte und kann Datensätze einfügen. Ich habe meine Zweifel, ob es wirklich am Code liegt. Dieser Fehler tritt sporadisch auf. Wie gesagt danach kann ich bestimmte Datensätze nicht mehr löschen. Ich kann auch nicht mit Sicherheit sagen, ob dieser Fehler nach dem Anlegen eines neuen Datensatezes auftritt, oder es nach mehrmaligen Löschen von Datensätzen auftritt. hier nochmal der Code:
Delphi-Quellcode:
begin//2
try SQLSpritzgangTabelle.Delete; // Datensatz löschen except SQLSpritzgangTabelle.Cancel; raise; end; end;//2 if SQLSpritzgangTabelle.UpdatesPending then // SQL Datenmenge aktualisieren begin //4 try SQLSpritzgangTabelle.ApplyUpdates; except raise; {raise the exception to prevent a call to CommitUpdates!} end; If lokalgeloeschteDateiaktiv then begin //5 sAktivesProgramm := SQLSpritzgangTabelle.FieldByName('PRGNAME').AsString; ModalResult := mrOk; end;//5 end;//4 |
Re: update failed ?
Könnte mir noch vorstellen, dass vielleich mehrere Nutzer darauf zugreifen und ein Datensatz, aufgrund dessen, dass dieser gelesen wird, gesperrt ist!? Oder hast du vielleicht mehrere Connections offen?
|
Re: update failed ?
Hallo,
Danke für die Antworten. Es ist ein Einplatzsystem ohne Netz. Kann man auf die gleiche Tabelle einmal als "SpritzgangTabelle: TTable" und gleichzeitig als "SQLSpritzgangTabelle: TQuery" ( mit SQL) bearbeiten.? |
Re: update failed ?
Kann man schon, es besteht nur die Gefahr, das das ansdere DataSet von den gemachten Änderungen nichts mitbekommt
|
Re: update failed ?
Hallo Kollegen,
nun habe ich Folgendes herausgefunden: Ich habe zuvor die "xxx.dbf" und die "xxx.mdx" Datei gespeichert. Danach habe ich die Tabelle um einen Datensatz erweitert. Anschließend habe ich die "xxx.mdx"-Datei mit der zuvor abgespeicherten "xxx.mdx"-Datei(1 Datensatz weniger) ersetzt. Beim Versuch den zuvor erstellten Datensatz zu löschen, bekam ich die Fehlermeldung "update failed". Jetzt zurück zu meinem Problem: Scheinbar wird die Idexfile "xxx.mdx" nicht aktualisiert. Wie kann das passieren? Wie kann man das wieder im Programcode reparieren? |
Re: update failed ?
Zitat:
|
Re: update failed ?
Hallo,
ich wollte nur den Fehler reproduzieren. Wie gesagt tritt dieser Fehlerfall sporadisch auf. Nun habe ich eben festgestellt, dass dieser Fehler auftritt, wenn der Indexfile nicht aktualisiert wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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