AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Label, Editfeld und DBlookupListbox
Thema durchsuchen
Ansicht
Themen-Optionen

Label, Editfeld und DBlookupListbox

Ein Thema von Hansa · begonnen am 23. Jan 2003 · letzter Beitrag vom 28. Jan 2003
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von harrybo
harrybo

Registriert seit: 26. Nov 2002
Ort: Aachen
87 Beiträge
 
Delphi 6 Enterprise
 
#21
  Alt 26. Jan 2003, 23:31
Hi Hansa,
ich nehme mal folgendes Beispiel: ein Dataset soll Daten aus einer Tabelle Termine holen, und zwar für ein bestimmtes Datum (das ist der Parameter). Die Termine werden in einem Grid dargestellt. Was machen nun die Parameter?
  • ADataset: TIBDataset Hier gebe ich an, welcher Dataset neu geladen werden soll, bei mehr als einem Dataset macht das schon Sinn.
    APar: variant das ist in diesem Beispiel das Datum, kann in einem anderen Fall eine KundenID sein, daher variant. Man könnte hier zwar umformen, etwa in string, das widerspräche aber einer meiner Programmierregeln: einen Wert ausschließlich in seinem eigenen Format irgendwohin zu übergeben.
    AID: longint Die Id des Datensatzes, der zuletzt vom Benutzer angewählt war. Ist ID > 0 wird nach dem Refresh versucht, den Recordpointer an dieselbe Stelle zu positionieren (alle meine Tabellen haben einen Unique Key, immer an erster Stelle, also Fields[0]). Auf diese Weise kann man z.B. in Mehrbenutzersystemen refreshen, ohne dass der Benutzer es merkt, er "bleibt" praktisch auf seinem Datensatz.
    AType: integer Es muss geklärt werden, was mit der laufenden Transaktion passieren soll. Übergeben wird ein Integer 0 bis 4 als Konstante. Wird 0 übergeben (c_Idle), läuft die Transaction weiter, manchmal möchte man aber auch committen, dann müssen natürlich sämtliche Datenmengen, die an dieser Transaction hängen neu aktiviert werden.
Mehr ist es eigentlich nicht. Es wird noch gecheckt, ob der Dataset sich gerade im Editiermodus befindet, dann wird er zunächst noch gesichert. Ja und nun kann man jeden Dataset, der einen Parameter erwartet ganz bequem refreshen, ohne sich immer wieder um genannten Kram zu kümmern. Das Gleiche kann man dann auch für ein Query anlegen, also RequeryQU1(AQuery: TIBQuery, ...

gruß, harrybo
Harry Boldt
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#22
  Alt 28. Jan 2003, 17:52
Hi,

der Sinn ist schon klar.

Zitat von harrybo:
AID: longint Die Id des Datensatzes, der zuletzt vom Benutzer angewählt war. Ist ID > 0 wird nach dem Refresh versucht, den Recordpointer an dieselbe Stelle zu positionieren (alle meine Tabellen haben einen Unique Key, immer an erster Stelle, also Fields[0]). Auf diese Weise kann man z.B. in Mehrbenutzersystemen refreshen, ohne dass der Benutzer es merkt, er "bleibt" praktisch auf seinem Datensatz.
Du meinst wahrscheinlich den Primary Key. Kann durch einen anderen User der Record-Pointer der eigenen WS verschoben werden ?? Das da gilt hoffentlich nur, falls es sich um ein Grid o.ä. handelt. Wird die Abfrage gerade ausgeführt, dürfte es doch keinen Einfluß haben, oder doch ?

Zitat von harrybo:
AType: integer Es muss geklärt werden, was mit der laufenden Transaktion passieren soll. Übergeben wird ein Integer 0 bis 4 als Konstante. Wird 0 übergeben (c_Idle), läuft die Transaction weiter, manchmal möchte man aber auch committen, dann müssen natürlich sämtliche Datenmengen, die an dieser Transaction hängen neu aktiviert werden.[/list]...
Hängt mit dem ersten zusammen : Was ist, wenn einer commited ? Ein anderer sieht doch davon nix, oder ? Weißt Du vielleicht noch etwas zu dem Back Difference Record zu sagen, darüber finde ich absolut nichts. Wie kommt man an den dran ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 18:14 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