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

Antwort per Email an