![]() |
AW: DB-Grid speichert nicht alle geänderten Datensätze
Zitat:
|
AW: DB-Grid speichert nicht alle geänderten Datensätze
also nachdem ich explizit nach jedem ds-wechsel ein Post eingefügt habe, habe ich jetzt festgestellt, dass es immer die gleichen Datensätze sind, die sich nicht ändern lassen.
Aus 66 Sätzen sind es folgende 14:
Code:
ich kann nicht erkennen was daran fehlerhaft ist :-(ARTIKELPREISAENDERUNG_ID ARTPREISAENDKOPF_ID ARTIKEL_ID ARTIKELNUMMER BEZEICHNUNG NETTOPREIS BRUTTOPREIS NETTONEU BRUTTONEU AENDERPROZPOS 112 26 457 100008 Mischbrot 500g 1,4018 1,5000 1,4018 1,5000 0,0000 118 26 497 100014 kl.Weissbrot 1,6821 1,8000 1,6821 1,8000 0,0000 121 26 506 100019 Holzfäller 1,8691 2,0000 1,8691 2,0000 0,0000 122 26 500 200000 Weckmehl 1,4018 1,5000 1,4018 1,5000 0,0000 124 26 489 200002 Brezeln/Groß 0,9345 1,0000 0,9345 1,0000 0,0000 125 26 462 200003 Brötchen 0,2803 0,2999 0,2803 0,2999 0,0000 132 26 464 200010 Spitzwecken 0,2803 0,2999 0,2803 0,2999 0,0000 138 26 486 300001 Donuts Black 0,6542 0,6999 0,6542 0,6999 0,0000 142 26 501 300005 Quarkteig-Hasen 0,6542 0,6999 0,6542 0,6999 0,0000 144 26 492 400001 Bisquitböden 6,5420 7,0000 6,5420 7,0000 0,0000 145 26 475 400002 Hefezopf 600g 1,6821 1,8000 1,6821 1,8000 0,0000 149 26 478 400006 Streuselkuchen/Stück 1,4018 1,5000 1,4018 1,5000 0,0000 154 26 508 400012 Nusszopf 80cm 13,0840 14,0000 13,0840 14,0000 0,0000 156 26 495 500001 MM Sahnessa Joghurt 22,6822 24,2699 22,6822 24,2699 0,0000 jemand von euch? ach ja die id -felder sind integer, die Bezeichnung char und die Beträge decimal |
AW: DB-Grid speichert nicht alle geänderten Datensätze
Da werden wohl Fremdschlüssel verletzt.
Wenn z.B. das Feld "ARTIKEL_ID" in einer anderen Tabelle der Primärschlüssel ist und eine Beziehung zwischen deiner Tabelle und der Mastertabelle besteht und du das Feld "ARTIKEL_ID" mit einem Wert füllst zu dem es keinen Datensatz gibt, dann sagt Firebird "Nada - iss nich" und der Datensatz bleibt unverändert. Normalerweise sollte der Änderungs-Fehler als Exception bis zur Oberfläche durchdringen, aber es gibt leider immer Fälle, bei denen die Fehlermeldungen aus dem DBMS verloren gehen. |
AW: DB-Grid speichert nicht alle geänderten Datensätze
Zitat:
die Tabelle hat keinerlei Abhängigkeiten. Die Tabelle wird aus den Tabellen Artikel und Artikelpreise gefüllt. Die Artikelid wird nur mitgespeichert um später die Peise ändern zu können. Soweit bin ich aber noch gar nicht. Ausserdem habe ich nur versucht das Feld bruttoneu und ,versuchweise, die Bezeichnung zu ändern :-( wenn ich wüsste, ok ist ein Fehler im Grid, könnte ich damit leben und das Ganze anders lösen, aber so? ich habe versuchsweise auch andere Daten benutzt. Da kam es unter 1000 DS ebenfalls zu x Sätzen die sich nicht ändern lassen:-( |
AW: DB-Grid speichert nicht alle geänderten Datensätze
Bei Mysql muss da "RequestLive auf True" stehen, vielleicht gibts da bei deiner Db was ähnliches...
Hier was aus der Hilfe: RequestLive ist eine Anforderung an eine SELECT-Abfrage, eine aktualisierbare (live) oder schreibgeschützte Ergebnismenge von der Datenbank zu liefern. Der Wert false für RequestLive (Vorgabe) bewirkt, dass die Ergebnismenge immer schreibgeschützt ist. Es wird keine Anforderung an die Datenbank gesendet, eine aktualisierbare Ergebnismenge zurückzugeben. Der Wert true für RequestLive ist eine Anforderung an die Datenbank, eine aktualisierbare Ergebnismenge zurückzuliefern. Eine aktualisierbare Ergebnismenge kann dem Benutzer der Anwendung zur direkten Datenbearbeitung über visuelle Datensteuerelemente zur Verfügung gestellt werde |
AW: DB-Grid speichert nicht alle geänderten Datensätze
alsooo,
Fehler behoben. Lag wohl an der Einstellung des Datasource. Da war autoedit auf false gesetzt :-( Ich danke euch Gruss KHH |
AW: DB-Grid speichert nicht alle geänderten Datensätze
Ich glaube fast, du speicherst die Daten wirklich über das DBGrid.
Prpgrammiertechnisch ist das natürlich falsch. Ein DBGrid ist nur dazu gedacht, dem Benutzer am Bildschirm die Daten anzuzeigen und Änderungen zu ermöglichen. Um Daten über das Programm abzufragen, zu ändern oder einzufügen arbeitet man direkt mit dem TDataset bzw. einer Ableitung davon (TTable, TQuery, TADOQuery, TZeosQuery,...). Also ich würde das ändern, denn du verlirst bei deinem Umweg über TDataSource und TDBGrid natürlich auch Geschwindigkeit. |
AW: DB-Grid speichert nicht alle geänderten Datensätze
Zitat:
Das Programm ansonsten nutzt im HG natürlich die (Zeos)- Query ;-) Danke dir für deine Ausführung Gruss KHH |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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-2025 by Thomas Breitkreuz