hallo liste,
ich habe eine aspx seite mit einem datagrid,
inclusive update und delete spalten.
die �nderungen werden ins dataset �bernommen.
das dataset wird dann per getxml() ausgelesen und
in einer klasse "DataToXML" mit readxml() wieder gelesen.
hier die update und delete methoden in der aspx klasse:
public void onUpdate()
{
// datagrid auslesen
// datarow.BeginEdit();
// ...
// datarow.EndEdit();
string xmlrequest = dataset1.GetXml();
DataToXML class1 = new DataToXML();
class1.SetXML(xmlrequest);
}
public void onDelete()
{
// datarow aus dataset l�schen
string xmlrequest = dataset1.GetXml();
DataToXML class1 = new DataToXML();
class1.SetXML(xmlrequest);
}
hier die setxml() methode in der DataToXML Klasse:
public void SetXML(string xmlrequest)
{
this.rdr1=new StringReader(xmlrequest);
DataSet dataset2 = new DataSet(); //neues dataset
dataset2.ReadXml(rdr1);
this.sqlDataAdapter1.Fill(this.dataset2); // altes dataset
this.dataset1.Merge(dataset2);
this.sqlDataAdapter1.Update(userTableDS1);
}
Das Problem ergibt sich aus dem Merge() Befehl, der beim update korrekt
funktioniert, bei delete aber versagt.
bei delete ist das dataset2 um eine datarow kleiner als das originale
dataset1.
Merge() erkennt zwar �nderungen innerhalb einer row, mit einer fehlenden row
kann es aber nicht umgehen. die folge ist, dass das dataset1 nach Merge()
unver�ndert ist.
ich habe bereits mit GetChanges() experimentiert, aber ohne erfolg.
wer wei� rat??
danke rob
| [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