Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 'max' gibt falschen Wert zurück (https://www.delphipraxis.net/11184-max-gibt-falschen-wert-zurueck.html)

matz 1. Nov 2003 16:11


'max' gibt falschen Wert zurück
 
Hallo,

ich habe seit längerem ein Programm im Einsatz (geschrieben unter Delphi 2) das auch ohne Probleme lief. Da bei dem Rechner das Betriebssystem auf XP geändert wurde habe ich jetzt ein Problem mit der SQL-Funktion 'max'. In einer Tabelle sind Auftragsnummern mit dazugehörigen Daten gespeichert. Um die nächste Auftragsnumer festzustellen benutze ich die SQL-Funktion 'max' und erhöhe einfach um 1. Nun habe ich den komischen effekt das obwohl eine Auftragsnummer '767' bereits vorhanden ist gibt mir die Funktion 'max' '766' zurück was unweigerlich zu einem Index-Fehler führt.

Datenbank: Paradox
Datenbankverbindung: BDE

Was könnte diesen Effekt hervorrufen?

Gruß Matz

r_kerber 1. Nov 2003 17:53

Re: 'max' gibt falschen Wert zurück
 
Hallo Matz,

ich glaube nicht, dass das an XP liegt. Ich tippe mal auf defekte Datenbank-Tabelle oder defekte Index-Datei. Ich habe mit Paradox und BDE schon desöfteren schlechte Erfahrungen gemacht.

matz 1. Nov 2003 18:05

Re: 'max' gibt falschen Wert zurück
 
die Vermutung habe ich auch, nur ist es mir noch nicht gelungen unter XP die Datenbank zu reparieren - das Util-Programm von Borland läuft scheinbar unter XP nicht

r_kerber 1. Nov 2003 18:07

Re: 'max' gibt falschen Wert zurück
 
Welches Util-Programm?

matz 1. Nov 2003 18:25

Re: 'max' gibt falschen Wert zurück
 
von Borland gab es mal ein Programm 'dTutil32' - damit ging das Reparieren der Datenbanken und der dazugehörenden Indexdateien eigentlich ziemlich gut.
Wie reparierst Du die Datenbanken?

r_kerber 1. Nov 2003 18:28

Re: 'max' gibt falschen Wert zurück
 
Ich verwende inzwischen kein Paradox mehr. Die BDE wird von Borland nicht mehr weiterentwickelt und eventuell in einer späteren Delphi-Version nicht mehr mitgeliefert.

matz 1. Nov 2003 18:32

Re: 'max' gibt falschen Wert zurück
 
bei einem neue Projekt nehme ich auch kein Paradox mehr - diese Programm habe ich 1997 geschrieben und es lief wie ich schon geschrieben habe bisher relativ problemlos
der Aufwand das Programm umzuschreiben würde aber den Rahmen völlig sprengen und da versuche ich erst einmal den Weg des geringsten Wiederstandes

MrSpock 1. Nov 2003 18:49

Re: 'max' gibt falschen Wert zurück
 
Hallo Matz,

bisher konnte ich mich erfolgreich von XP fernhalten, deshalb kann ich nicht sagen, ob dieses Tool zur Indexreparatur
mit XP funktioniert. Aber du solltest es einfach einmal probieren.

matz 1. Nov 2003 19:23

Re: 'max' gibt falschen Wert zurück
 
Danke, ich probiere es gleich aus.
Gruß Matz

matz 1. Nov 2003 19:49

Re: 'max' gibt falschen Wert zurück
 
Super, es klappt.
Matz :P

r_kerber 1. Nov 2003 20:28

Re: 'max' gibt falschen Wert zurück
 
Da Dir das offensichtlich schon öfters passiert ist (immerhin hast Du TUtil) würde ich Dir doch empfhelen, die DB zu wechseln!

matz 3. Nov 2003 07:56

Re: 'max' gibt falschen Wert zurück
 
Die DB wechsel würde ich machen, wenn sich der Aufwand lohnen würde. Da es bisher aber sehr wenige Probleme gab (eigentlich erst nach dem Wechseln des BS) sehe ich erst einmal von diesem Schritt ab. Mit dem von MrSpock empfohlenen Repair-Tool geht die Datenbank wieder und jetzt werde ich erst einmal abwarten ob sich die Probleme häufen.
Komisch war nur das ich keinen DB-Fehler bekommen habe sondern nur falsche Werte - da sucht man erst einmal ziemlich lange und am Ende ist die DB defekt.

Danke noch einmal
Gruß Matz

MrSpock 3. Nov 2003 10:34

Re: 'max' gibt falschen Wert zurück
 
Hallo matz,

da kann ich nur zustimmen: http://home.arcor.de/albert.zuzej/ntars.gif

Meine Anwendungen mit Pardox laufen schon seit Jahren ohne nennenswerte Probleme.


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