Hallo Andreas,

ich glaub ich habe mich scheinbar nicht genau ausgedr�ckt und bin gerade
total auf dem Holzpfad...

Ich habe zwei DB's.
Die eine steht beim Provider, die andere auf irgendeinem Client.
Es k�nnen Daten auf Client, wie auf Server ge�ndert werden (Insert, Update,
Delete)
In Intervallen von mehreren Minuten sollen diese DB's nun abgeglichen
werden.
Meine ClientDB ist die Originale. Die die mir wichtig ist.

Ich dachte ich kann nun so verfahren:
-Alle Datens�tze holen, die einen Timestamp haben, der nicht �lter ist als
***Zeitpunkt des letzten Abgleichs*** und dieses in ein Dataset speichern
(Server)
-Das DataSet sollte ja "wissen" welche Spalte die ID-Spalte ist...
(MissingSchemaAction.AddWithKey)
-So jetzt hole ich das Dataset des Clients mit den Datens�tzen, die nicht
�lter sind als Timestampfeld.
-Ich habe also zwei Datasets, die ich (wie ich dachte) Mergen kann...
        -AUf der einen Seite m�chte ich wissen was ich am Client f�r Datens�tze
�ndern muss
        -Auf der anderen Seite muss ich wissen was ich auf dem Server �ndern muss
(und dieses Dataset auf den Server bringen)
                -Auf dem Server muss ich dann eben das Dataset in Empfang nehmen und
...Eben Inserten, updaten, oder Deleten ...


Wei�t Du jetzt was ich meine?


Gru� Mansur


>
>
> http://de.gotdotnet.com/quickstart/howto/doc/adoplus/UpdateDataFromDB.aspx
>
> Melde dich, wenn dir diese Seite auch nicht weiter geholfen hat
> und schicke
> deine Tabellenstruktur mal zu.
>
>
> Gruss
> Andreas
>
> -----Urspr�ngliche Nachricht-----
> Von: Mansur Esmann [OM] [mailto:[EMAIL PROTECTED]]
> Gesendet: Montag, 22. Juli 2002 16:32
> An: aspDEdotnet
> Betreff: [aspdedotnet] AW: Frage zu Beispiel aus der .Net Doku
>
>
> Hallo Andreas,
>
> war bei mir auch kein Durchbruch :-)
>
> Also laut diesem Artikel arbeite ich mit zwei DataSet's.
> Original und Current
>
> In das Current lade ich die �nderungen wie ich sie haben m�chte
>
> Mit Merge sollte er mir also dann (Das habe ich jetzt begriffen)
> jeweils ein
> Insert, Update und Delete Command in der Methode finden (Wenn nicht -->
> Error). O.K. die sind da.
>
> Das AcceptChanges auf ein DataSet sollte mir nun jeweils durch die Zeilen
> gehen und wenn n�tig das jeweilige Kommando auf die Row ausf�hren.
>
> ***Hunderttausendh�llenhunde***
>
> Dieses verfl. Ding macht mir aber nur ein INSERT.
> Obwohl die Row eindeutig anhand seiner ID erkannt werden sollte .....
>
> Wie soll er denn sonst ein Merge machen k�nnen, wenn er nicht die
> ID hierzu
> verwendet ...
>
> Fazit: Der artikel hat mir nicht geholfen, das Problem zu l�sen,
> sondern hat
> mich nur darin best�rkt, da� ich zwar auf dem richtigen Weg bin, aber
> irgendwas falsch mache ....
>
> Kannst Du mir noch etwas mehr Unterst�tzung geben?
>
> Gru� Mansur
>
>
> >
> > hier ist die gleiche Hilfe zum Thema DataSet-Updates nur auf der
> > MSDN-Seite
> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/v
> > bcon/html/
> > vbconintroductiontodatasetupdates.asp
> >
> >
>
> >
> > Hallo Andreas,
> >
> > die Hilfe - Source konnte ich nicht finden.
> > Denke Du hast VisualStudio .NET installiert und hast dadurch
> > andere Hilfe -
> > Pfade....
> >
> > Ich habe das Beispiel (Hoffe Du hast das selbe vorliegen) jetzt
> > nach meiner
> > DB-Struktur umgesetzt und kriege keine Fehler (heyyyy) :-)
> >
> > Ich habe eine ID-Spalte, die auf Basis von GUID
> > (uniqueidentifiere) beruht,
> > da ich meinte, wenn ich zwei DB's abgleichen will, dann muss ich absolut
> > eindeutige ID's haben, die nicht in beiden DB's vorkommen k�nnen.
> >
> > In beiden DB's kann ich Datens�tze hinzuf�gen, l�schen und �ndern ....
> >
> > Wenn er also getChanges() machen will, dann wird er in jedem Fall
> > durch die
> > GUID den Datensatz finden k�nnen ....
> >
> > Das Problem: Er f�gt IMMER einen neuen Datensatz ein ....
> > Auch wenn ich die GUID eines bestehenden DS angebe ....
> > Ich dachte das ganze Ding l�uft folgenderma�en ab:
> >
> > -Hole das DataSet vom Server
> > Dataset myDS = mySamp.GetCustomers();
> >
> > -Erzeuge eine neue Row:
> > DatRow newRow = ....newRow();
> > newRow["..."] = "blabla"
> > ....
> >
> > -Mach ein neues Dataset und bef�lle es mit den �nderungen...
> > updDS = mySamp.UpdateCustomers(myDS.GetChanges());
> >
> > -F�ge die neue Row entsprechend der "changes" in das
> > urspr�ngliche DS (myDS)
> > ein. Je nachdem wie ... Insert, Update, Delete
> >
> > myDS.Merge(updDS);
> > myDS.AcceptChanges();
> >
> >
> > Die Frage ist also wieso f�gt er einen neuen Datensatz hinzu, obwohl ein
> > Datensatz mit der gleichen ID, wie ich gerade die Daten
> angegeben habe (Im
> > Client) bereits existiert ....
> >
> > Gru� Mansur
> >
> > > Hallo Mansur,
> > >
> > > DataSet.getChanges() od. DataTable.getChanges() liefert nur die
> > ge�nderten
> > > Datens�tze zur�ck. So kann man Overhead
> > > zwischen zwei Komponenten reduzieren, in dem man nur die
> > ge�nderten Daten
> > > austauscht.
> > > Anhand der DataRow.RowState-Eigenschaft kann man feststellen, welche
> > > Ver�nderung stattgefunden hat.
> > >
> > > weitere Details kannst du hier nachlesen:
> > > ms-help://MS.VSCC/MS.MSDNVS/vbcon/html/vbconIntroductionToDatasetU
> > > pdates.htm
> > >
> > > Gruss
> > > Andreas
> > >
> >
> > > Hallo,
> > >
> > > ich will gerade ein Beispiel aus der Dokumentation von .Net
> > nachvollziehen
> > > und verstehe es nicht ganz.
> > > Es geht um:
> > > ms-help://MS.NETFrameworkSDK/cpguidenf/html/cpconconsumingdatasetf
> > > romwebserv
> > > ice.htm
> > >
> > > Consuming a Dataset from an XML WebService.
> > >
> > > Da gibt es zwei Methoden:
> > > -GetCustomer
> > > -UpdateCustomer
> > >
> > >
> > > Die UpdateCustomer hat da drinnen stehen:
> > > ....InsertCommand
> > > ....UpdateCommand
> > > ....DeleteCommand
> > >
> > >
> > > Die Applikation, die eben den Abgleich macht (Den Service
> > n�tzt) macht was
> > > "getChanges()"
> > > und dann sollen die Daten abgeglichen sein.
> > >
> > > Wie z.T. ("zum Teufel") weis der denn welches Command er
> verwenden soll?
> > > oder ist das einfach gegeben, wenn man den Befehl myDS.Merge(updDS)
> > > verwendet?
> > >
> > > K�nnte mir mal jemand den Punkt erkl�ren, wo und wie das l�uft,
> > > da� er wei�
> > > ob er inserten, updaten, oder deleten soll?
> > >
> > >
> > > Gru� Mansur
> > >
> > >
>
> >
>
>
> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>
> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>


| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an