Hi Pat,
jede DataRow in einem Datatable (in einem DS) hat einen RowState. Je nachdem, welcher Vorgang mit der Zeile durchgef�hrt wurde, wird dieser RowState automatisch festgelegt. In Deinem (2.) Fall liest Du das DataSet, soda� der RowState jeder Zeile weder Neu (Added) noch Ge�ndert ist. Die Kopie ist nat�rlich identisch.
Da man den RowState nur durch entsprechende Aktionen (wirkliches Hinzuf�gen �ber NewRow, wie Du es auch im 1. Fall gemacht hst) �ndern kann, hilft die Kopie des DataSet Dir nicht weiter. Beim Update wird dann nur f�r die ge�nderten/hinzugef�gten/gel�schten Zeilen das entsprechend �ber InsertCommand/UpdateCommand/DeleteCommand festgelegte Statement aufgerufen.
Gru�, Helge
[EMAIL PROTECTED] wrote:
Hallo zusammen,
ich habe 2 verschiedenen datenbanken und m�chte eine tabelle von db1 in db2 kopieren (ohne �nderungen). ich habe dies jetzt versucht �ber datasets zu l�sen- mein erster ansatz war
ds1 f�llen ds2 fillschema und danch per for each von ds1 das ds2 per new row zu f�llen.
das funktioniert auch!
2:
ds2 per copy von ds1 zu f�llen (funktioniert ds ist gef�llt!) und danach per update command vom command builder das ds2 in die datenbank schreiben
hier bekomme ich keinerlei fehlermeldung, der inhalt wird aber auch nicht wieder in die db2 geschrieben. kann mir jemand sagen was am unten aufgef�hrten code falsch ist, oder ob hier prinzipiell ein denkfehler vorliegt.?
gr�sse pat
Dim objDataSetB1 As New DataSet() Dim objDataSetB2 As New DataSet() Dim objDataAdapterB1 As New OleDbDataAdapter() Dim objDataAdapterB2 As New OleDbDataAdapter()
Dim objCommand As New OleDbCommand() objCommand.Connection = ALobjConnect objCommand.CommandType = CommandType.Text objCommand.CommandText = "SELECT * FROM tbl_photos" objDataAdapterB1.SelectCommand = objCommand objDataAdapterB1.Fill(objDataSetB1, "Pics")
Dim objCommand2 As New OleDbCommand() objCommand2.Connection = objConnect objCommand2.CommandType = CommandType.Text objCommand2.CommandText = "SELECT * FROM Pictures" objDataAdapterB2.SelectCommand = objCommand2 objDataAdapterB2.FillSchema(objDataSetB2, SchemaType.Source, "Pics")
objDataSetB2 = objDataSetB1.Copy()
Dim objCommandBuilder As New OleDbCommandBuilder(objDataAdapterB2) objDataAdapterB2.UpdateCommand = objCommandBuilder.GetUpdateCommand()
outInsert.InnerText = objDataAdapterB2.UpdateCommand.CommandText
objDataAdapterB2.Update(objDataSetB2, "Pics")
_______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
