AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DB-Grid speichert nicht alle geänderten Datensätze
Thema durchsuchen
Ansicht
Themen-Optionen

DB-Grid speichert nicht alle geänderten Datensätze

Ein Thema von khh · begonnen am 25. Okt 2010 · letzter Beitrag vom 29. Okt 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#11

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 27. Okt 2010, 11:17
Reicht doch eigentlich, wenn du den Post reportest.
Auch wieder wahr.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.926 Beiträge
 
FreePascal / Lazarus
 
#12

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 27. Okt 2010, 16:39
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:

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
ich kann nicht erkennen was daran fehlerhaft ist
jemand von euch?

ach ja die id -felder sind integer, die Bezeichnung char und die Beträge decimal
Karl-Heinz

Geändert von khh (27. Okt 2010 um 16:48 Uhr)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#13

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 27. Okt 2010, 18:42
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.
Andreas
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.926 Beiträge
 
FreePascal / Lazarus
 
#14

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 27. Okt 2010, 18:55
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.
schön wärs
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
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von skh
skh

Registriert seit: 17. Aug 2005
Ort: Saarland
28 Beiträge
 
Delphi 7 Professional
 
#15

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 27. Okt 2010, 20:10
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
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.926 Beiträge
 
FreePascal / Lazarus
 
#16

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 29. Okt 2010, 08:23
alsooo,
Fehler behoben.
Lag wohl an der Einstellung des Datasource.
Da war autoedit auf false gesetzt

Ich danke euch

Gruss KHH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#17

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 29. Okt 2010, 08:53
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.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.926 Beiträge
 
FreePascal / Lazarus
 
#18

AW: DB-Grid speichert nicht alle geänderten Datensätze

  Alt 29. Okt 2010, 09:04
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.
Es geht tatsächlich nur darum dem Nutzer die Daten anzuzeigen und Änderung dieser Daten zu ermöglichen.
Das Programm ansonsten nutzt im HG natürlich die (Zeos)- Query

Danke dir für deine Ausführung

Gruss KHH
Karl-Heinz
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 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