HModify ändert nicht, sonder fügt hinzu - warum?

Alle Themen rund um die Erstellung von Programmen
Antworten
Magic
Member
Beiträge: 51
Registriert: 2. September 2011, 13:48

HModify ändert nicht, sonder fügt hinzu - warum?

Beitrag von Magic »

Hi,

folgendes Problem:

Ich hole mir eine Datensatz mit FileToScree(...) in ein Fenster zum editieren.
Nach dem editieren führe ich ein ScreenToFile(...) um anschließend den Datensatz per HModify(...) zu ändern.

Die Tabelle ist in einer HFSQL Ver. 17.
Merkwürdigerweise wird dann der Datensatz nicht geändert, sondern ein neuer angelegt. wie als hätte ich ein HAdd(...) ausgeführt.
Woran kann es nur liegen? Was habe ich übersehen? Dieses Verhalten habe ich bei mind. 2 unterschiedlichen Tabellen.
Gruß,
Magic

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: HModify ändert nicht, sonder fügt hinzu - warum?

Beitrag von Herbert »

Nein, kenne ich nicht.
Bist du sicher,m dass nirgendwo sonst bereits ein Hadd() steht?

Was hast du denn für Inhalte? Kannst du sehen, ob vorher ein Hreset() erfolgte? Hmodify() speichert einfach den aktuellen Satz ab, sonst müsstest du ja Daten des zuletzt gelesenen Satzes dabei haben.

Prüfe mal auf ..newrecord auf die Tabelle. Müsstest ja in deinem Fall ein true haben. So musst du dann rückwärts suchen, woher dies kommt.

Magic
Member
Beiträge: 51
Registriert: 2. September 2011, 13:48

Re: HModify ändert nicht, sonder fügt hinzu - warum?

Beitrag von Magic »

Herbert hat geschrieben:Bist du sicher,m dass nirgendwo sonst bereits ein Hadd() steht?
Ja.
Herbert hat geschrieben:Hmodify() speichert einfach den aktuellen Satz ab, ...
Genau das will ich auch.

Aber jetzt hat es "klick" gemacht. Natürlich ...
Vor dem HModify(...) prüfe ich ob die Daten OK sind und ob es z.B. bereits einen Datensatz mit dann den gleichen Daten gibt. Dazu führe ich z.B. ein HReedSeek(...) aus. Ist jetzt klar, danach steht der Satzzeiger auf einem anderen Datensatz. Hätte auch früher drauf kommen können.
Nach der Prüfung müsste ich also nur wieder zurück auf dem ursprünglichen Datensatz positionieren.

Aber wie gestalte ich denn solch eine Prüfung mit dem WieDev Mitteln?
Nutzt Ihr hierfür das automatische Exception verhalten, welches WinDev anbietet?
Gruß,
Magic

Magic
Member
Beiträge: 51
Registriert: 2. September 2011, 13:48

Re: HModify ändert nicht, sonder fügt hinzu - warum?

Beitrag von Magic »

OK, hab es gelöst.
Direkt nach dem FileToScreen(...) merke ich mir die Datensatznummer mit HRecNum(...).
Beim HModify(...) gebe ich als Parameter die Nummer des Datensatzes an, der geändert werden soll und alles ist gut.
Gruß,
Magic

Antworten