Daten per select aus einer remote view - Aktualisieren ?

23/10/2008 - 15:32 von tom knauf | Report spam
Moin, moin

wir haben Daten auf einem MS-SQL Server und greifen per ODBC und remote
views in einer entsprechenden DBC darauf zu.
Die DBC kann ich nicht àndern, diese enthàlt aber einige nicht
parametrisierte Remote-Views (* from ...)

Am Programmstart öffne ich die Datenbank mit Open database, spreche aber
zunàchst die Views noch nicht an (kein Use rv_adressen,..)

Wenn ich nun mit "select * from rv_adressen where Ort="HAMBURG" into cursor
c_adr" Daten ziehe ,
öffnet Foxpro ja implizit die Datenquelle rv_adressen.

Fragen
a) Muss ich vorher mit "use rv_adressen - =Requery()" selbst für eine
Aktualisierung sorgen ?

b) Wenn ich nun spàter erneut einen "select ... " auf rv_adressen absetze,
muss ich dann vorher requery() aufrufen ?
(rv_adressen bleibt nach einem ersten Select .. ja geöffnet)

Die Datenmenge in den rvŽs ist eher gering (< 5 MB) .

c) Ist es vielleicht besser beim Programmstart alle benötigten Views erstmal
mit "sele 0 - use rv_xxx" zu öffen ?
Muss ich in dem Fall vorher ein Requery() absetzen ?


Vielen Dank für Eure Hilfe

Grüße aus Hamburg
Tom
 

Lesen sie die antworten

#1 Stefan Wuebbe
23/10/2008 - 17:28 | Warnen spam
Wenn Views per USE geöffnet werden, werden auch die Daten
abgerufen - d.h. wenn es keine Where-Parameter gibt, eben alle Sàtze.

Außer wenn du die NODATA Klausel des USE BEfehls benutzt, bzw.
im form.DataEnvironment die Cursor Eigenschaft .NoDataOnLoad=.T.
setzt.
Im ersten Fall brauchst du also keins und im zweiten Fall genau ein
Requery() - neue Requery() Aufrufe würden dann nur noch der
Aktualisierung dienen, für den Fall, dass inzwischen auf dem Server
Daten geàndert wurden.


hth
-Stefan


"tom knauf" wrote in message news:gdpud2$ik$00$
Moin, moin

wir haben Daten auf einem MS-SQL Server und greifen per ODBC und remote views in einer
entsprechenden DBC darauf zu.
Die DBC kann ich nicht àndern, diese enthàlt aber einige nicht parametrisierte
Remote-Views (* from ...)

Am Programmstart öffne ich die Datenbank mit Open database, spreche aber zunàchst die
Views noch nicht an (kein Use rv_adressen,..)

Wenn ich nun mit "select * from rv_adressen where Ort="HAMBURG" into cursor c_adr"
Daten ziehe ,
öffnet Foxpro ja implizit die Datenquelle rv_adressen.

Fragen
a) Muss ich vorher mit "use rv_adressen - =Requery()" selbst für eine Aktualisierung
sorgen ?

b) Wenn ich nun spàter erneut einen "select ... " auf rv_adressen absetze, muss ich dann
vorher requery() aufrufen ?
(rv_adressen bleibt nach einem ersten Select .. ja geöffnet)

Die Datenmenge in den rvŽs ist eher gering (< 5 MB) .

c) Ist es vielleicht besser beim Programmstart alle benötigten Views erstmal mit "sele
0 - use rv_xxx" zu öffen ?
Muss ich in dem Fall vorher ein Requery() absetzen ?


Vielen Dank für Eure Hilfe

Grüße aus Hamburg
Tom




Ähnliche fragen