| |
|
|
 |
Autor |
Nachricht |
 |
| |
|
|
| |
| mikhal |
#2| Verfasst am: 02.12.2008, 10:47 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Alter: 53 Status: offline Beiträge: 573 angemeldet: 11.09.2003 Wohnort: Linz am Rhein RAD-Studio 2009 Pro

|
Ich nutze für diese Zwecke Delphi-seitig das Ereignis BeforePost, um die entsprechenden Felder zu füllen.
Grüße
Mikhal |
 Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
mein Blog: http://michaelkraemer.wordpress.com |
 |
|
|
|
| |
| fragile |
#3| Verfasst am: 02.12.2008, 13:20 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Alter: 36 Status: offline Beiträge: 87 angemeldet: 04.11.2008 Wohnort: Amberg Delphi 2009 Enterprise

|
Böte sich nicht auch ein Ereignis einer TADOConnection an, dann muss man das ganze nicht an zig Stellen bzw. Datenquellen (habe im Moment 12 Stück)implementieren... |
|
 |
|
|
|
| |
| mjustin |
#4| Verfasst am: 02.12.2008, 14:03 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
aktives Mitglied Beiträge: 640 angemeldet: 14.04.2008 Delphi 2009 Professional

|
| fragile hat folgendes geschrieben: | | Böte sich nicht auch ein Ereignis einer TADOConnection an, dann muss man das ganze nicht an zig Stellen bzw. Datenquellen (habe im Moment 12 Stück)implementieren... |
Man kann (im einfachsten Fall) allen 12 Datasets die gleiche Ereignisbehandlungsroutine für BeforePost zuweisen.
Wenn die Feldnamen identisch sind, genügt
DataSet.FieldByName('CHANGED').AsDateTime := MyChangedTime;
damit ist es unabhängig von der konkreten Dataset-Instanz |
 SCJP, SCJA
http://www.mikejustin.com - http://www.betabeans.de |
 |
|
|
|
| |
| joachimd |
#5| Verfasst am: 02.12.2008, 14:15 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 313 angemeldet: 17.02.2005 Wohnort: Weitingen RAD-Studio 2010 Arc

|
| mjustin hat folgendes geschrieben: | Man kann (im einfachsten Fall) allen 12 Datasets die gleiche Ereignisbehandlungsroutine für BeforePost zuweisen.
Wenn die Feldnamen identisch sind, genügt
DataSet.FieldByName('CHANGED').AsDateTime := MyChangedTime;
damit ist es unabhängig von der konkreten Dataset-Instanz |
Da würde ich lieber eine eigene Komponente davon ableiten und dieser Ableitung das 'AutoFeld' per Property zuweisen;) Vielleicht sogar gleich eine Liste mit Autofeldern und einem Flag, was in das Feld rein soll. |
 --
System Consultant (Advantage Database Server)
Sybase iAnywhere
check out my new Advantage book on http://www.jd-engineering.de/adsbuch |
 |
|
|
|
| |
| fragile |
#6| Verfasst am: 04.12.2008, 09:28 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Alter: 36 Status: offline Beiträge: 87 angemeldet: 04.11.2008 Wohnort: Amberg Delphi 2009 Enterprise

|
Du meinst, eine neue Instanz von TADOCustomDataSet und diese dann bei jedweden Änderungen/Inserts aufrufen ? |
|
 |
|
|
|
| |
| joachimd |
#7| Verfasst am: 04.12.2008, 09:57 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 313 angemeldet: 17.02.2005 Wohnort: Weitingen RAD-Studio 2010 Arc

|
| fragile hat folgendes geschrieben: | | Du meinst, eine neue Instanz von TADOCustomDataSet und diese dann bei jedweden Änderungen/Inserts aufrufen ? |
TAdoTable und TAdoQuery ableiten und dort das Post überschreiben (ich weiß jetzt nicht, wie die internen Methoden dort lauten. Bei ADS wäre es InternalPost).
|
 --
System Consultant (Advantage Database Server)
Sybase iAnywhere
check out my new Advantage book on http://www.jd-engineering.de/adsbuch |
 |
|
|
|
| |
| MichaelP |
#8| Verfasst am: 04.12.2008, 10:05 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Alter: 45 Status: offline Beiträge: 26 angemeldet: 06.09.2003 Wohnort: Hannover Delphi 2006 Enterprise

|
Man kann diese Funktionalität auch in die Datenbank legen, und auf der Tabelle einen TRIGGER anlegen, dieser kann dann bei jeder Datensatrzänderung den neuen Zeitstempel und den DB-Benutzer eintragen.
Gruß
Michael |

Grüße aus Hannover
Michael |
 |
|
|
|
| |
| joachimd |
#9| Verfasst am: 04.12.2008, 10:17 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 313 angemeldet: 17.02.2005 Wohnort: Weitingen RAD-Studio 2010 Arc

|
| MichaelP hat folgendes geschrieben: | | Man kann diese Funktionalität auch in die Datenbank legen, und auf der Tabelle einen TRIGGER anlegen, dieser kann dann bei jeder Datensatrzänderung den neuen Zeitstempel und den DB-Benutzer eintragen. |
Das wäre die bevorzugte Methode, aber nachdem der OP folgendes gleich in die Eröffnung schrieb:
| Zitat: | | Ich stehe ein bisschen auf Kriegsfuß mit dem Triggern von MS SQL, wäre dies dennoch die beste Lösung oder gibt es auch ein Delphi-Ereignis (z.b. in der DBConnection), was dafür geeignet wäre. Ich benutze in meiner Anwendung einen Type TUser (selbstdefinierter Record), um Infos über den Anwender zu speichern... |
habe ich ihm auch nicht mehr dazu geraten |
 --
System Consultant (Advantage Database Server)
Sybase iAnywhere
check out my new Advantage book on http://www.jd-engineering.de/adsbuch |
 |
|
|
|
| |
| fragile |
#10| Verfasst am: 04.12.2008, 11:35 Titel: Re: DB-Felder automatisch aus Delphi befüllen |
 |
 |
 |
|
Mitglied Alter: 36 Status: offline Beiträge: 87 angemeldet: 04.11.2008 Wohnort: Amberg Delphi 2009 Enterprise

|
hi,
mit Triggern kann es bei uns Probleme geben, da der in die Anwendung eingeloggte User nicht unbedingt dem DB-User entspricht....
Ich werde mal das Post überschreiben, so daß er mir Zeit/Benutzer immer miteinträgt...danke ! |
|
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|