Autor Beitrag
FrankBellartz
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 05.12.03 12:26 
Hallo, wer kann mir weiterhelfen?
Ich habe bisher mit zwischengespeicherten Abfragen gearbeitet, die mit einem Update-Object in die Datenbank geschrieben wurden. Das läuft problemlos. Jetzt möchte ich aktualisierbaren Abfragen arbeiten (Requestlive = true, cacheupadte = false, auf Accessund MSSQL) arbeiten. Das läuft nicht ganz so gut. Nach einem Post, das einem Insert folgt verschwindet in einem Tdbgrid ein datensatz und wird scheinbar von meinem neuen Datensatz überschrieben. Ein erneutes select zeigt aber, dass alles richtig eingetragen wurde. Das ganze ist zwar nur ein Schöheitsfehler, die Anwender fragen aber erschreckt nach, wo denn der Datensatz geblieben ist. Ein Workaround läßt sich mit einer neuen Abfrage machen. Aber viele Abfragen sind der Performance Tod. Wer weiß Abhilfe?
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 09.12.03 17:50 
Hallo!

Bei unseren alten Anwendungen sind wir ebenfalls auf diese Problematik gestossen. Wir haben nach jedem Post die Datenmenge erneut geholt.

Das ist zwar nicht schön, aber auch nicht unbedingt der Performance-Tod, wenn man nicht gerade eine Datenmenge mit >10000 Datensätzen holt (was ja auch nicht nötig ist für den Benutzer).
Bei kleinen Daten-Happen ist das gar kein Problem.

Heute entwickeln wir nur noch mit Clientdatasets, da tritt das Phänomen nicht auf.

Cu
FrankBellartz Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 10.12.03 10:05 
Hallo, das stimmt. Ein weiterer Schönheitsfehler ist, wenn in einer Abfrage die z.B. einen Datumsbereich einschränkt, der Anwender einen neuen Datensatz erstellt, der nicht in die Einschränkung fällt (was durchaus gewünscht ist), dann kommt bei einer erneuten Abfrage dieser Datensatz nicht mehr mit. Für den Anwender sieht es aus, als ob er verschwunden ist und er gibt ihn neu ein. Leider habe ich Anwender die diesen Vorgang hartnäckig wiederholen.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 10.12.03 10:33 
Nun, das Problem hat man natürlich bei allen Komponenten, die Filterung beherrschen. :)

Eine Möglichkeit wäre, im BeforePost-Ereignis einen MessageDlg-Befehl zu setzen, falls der Datensatz gefiltert werden würde. Dann könnte der Benutzer entscheiden, ob er ihn so speichern möchte oder doch lieber seine Eingabe revidiert (programmtechnisch durch abort).

Cu
FrankBellartz Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 10.12.03 14:59 
Hallo, ich habe es so gemacht: ich führe die möglichen neuen Datensätze bei der erneuten Abfrage mit. Das funktioniert, könnte aber schöner sein. Vielen Dank für die Hilfe