dataTable update via dataAdapter

30/01/2010 - 11:25 von Samy_E | Report spam
Hallo,

ich versuch nun schon seit einiger Zeit mein Programm umzuschreiben. Die
Ursprungsversion importiert aus eine Excel Tabelle Daten und schreibt
Sie in 4 DataTables die alle einzeln in xml gespeichert werden. Der
Nachteil am Ursprungsprogramm: kein Multiuser Support.

Nun will ich das ganze mit eine Access Datenbankdatei realisieren.

Ich befuelle via Select * xx fuer jede Tabelle einen Dataadapter,
funktioniert einwandfrei. Auch Insert neuer Daten funktioniert einwandfrei.

Nun zu meinem Problem:

Aendere ich die Daten die via Databinding gebunden sind und versuche ich
diese dann per update mit der Access Datenbankdatei abzugleichen, werden
die Daten nicht abgeglichen.

Seit 3 Wochen versuch ich nun schon verschiedene varianten. Vielleicht
kann sich das mal wer ansehen, hab ich hier einen Denkfehler?

Ich bekomme keinen Fehler, keine Exception es wird einfach nichts
aktualisiert obwohl Datatable Lokal mit Access ungleich ist. Ein
Primaerschluessel Autoinkrement ist in der Access Datenbankdatei
vorhanden 995mainID - 970mainID - R67mainID / textKommission ist eindeutig

Dim strTable As String
Dim strSql As New System.Text.StringBuilder

Select Case intBlatt
Case 1
strTable = "datTable995"
Case 2
strTable = "datTable970"
Case 3
strTable = "datTableR67"
Case 4
strTable = "datTableF3"
GoTo endF3
Case Else
strTable = Nothing
GoTo endNormal
End Select

strSql.Append("UPDATE " & strTable & " SET ")
strSql.Append("textKommission=@textKommission,
intNetzplan=@intNetzplan, textBearbeiter=@textBearbeiter,
intMeter=@intMeter, ")
strSql.Append("dblSoll_T690=@dblSoll_T690,
dblIst_T690=@dblIst_T690, dblSoll_T760=@dblSoll_T760,
dblIst_T760=@dblIst_T760, ")
strSql.Append("textKommentar=@textKommentar, ")
strSql.Append("dateDtgTermin=@dateDtgTermin,
dateSapTermin=@dateSapTermin, dateAufgenommen=@dateAufgenommen, ")
strSql.Append("boolHardware=@boolHardware,
boolWirdgebaut=@boolWirdgebaut, boolVorbereitet=@boolVorbereitet, ")
strSql.Append("boolAufgebaut=@boolAufgebaut,
boolSoftware=@boolSoftware, boolAbgebaut=@boolAbgebaut, ")
strSql.Append("boolBilder=@boolBilder, boolF3=@boolF3,
boolDtg=@boolDtg, boolStorniert=@boolStorniert ")
strSql.Append("WHERE textKommission=@textKommission")

'Erstelle neuen Sql Command
sqlCommand = sqlConnection.CreateCommand
sqlCommand.CommandText = strSql.ToString

sqlCommand.Parameters.Clear()
sqlCommand.Parameters.AddWithValue("@intNetzplan",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@textBearbeiter",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@intMeter",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@textKommentar",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dblSoll_T690",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dblIst_T690",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dblSoll_T760",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dblIst_T760",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dateDtgTermin",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dateSapTermin",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@dateAufgenommen",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolHardware",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolWirdgebaut",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolVorbereitet",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolAufgebaut",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolSoftware",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolAbgebaut",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolBilder",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolF3",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolDtg",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@boolStorniert",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@textKommission",
DataRowVersion.Original)
sqlCommand.Parameters("@intNetzplan").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@textBearbeiter").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@intMeter").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@textKommentar").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dblSoll_T690").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dblIst_T690").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dblSoll_T760").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dblIst_T760").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dateDtgTermin").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dateSapTermin").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@dateAufgenommen").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolHardware").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolWirdgebaut").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolVorbereitet").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolAufgebaut").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolSoftware").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolAbgebaut").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolBilder").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolF3").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolDtg").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@boolStorniert").SourceVersion =
DataRowVersion.Current
sqlCommand.Parameters("@textKommission").SourceVersion =
DataRowVersion.Original

Try
sqlConnection.Open()
Select Case intBlatt
Case 1
datAdapter995.UpdateCommand = sqlCommand
'datAdapter995.Update(datTable995)
'datAdapter995.Update(datTable995.GetChanges)
datAdapter995.UpdateCommand.ExecuteNonQuery()
Case 2
datAdapter970.UpdateCommand = sqlCommand
'datAdapter970.Update(datTable970)
'datAdapter970.Update(datTable970.GetChanges)
datAdapter970.UpdateCommand.ExecuteNonQuery()
Case 3
datAdapterR67.UpdateCommand = sqlCommand
'datAdapterR67.Update(datTableR67)
'datAdapterR67.Update(datTableR67.GetChanges)
datAdapterR67.UpdateCommand.ExecuteNonQuery()
End Select
Catch ex As Exception
MessageBox.Show(ex.Message & intBlatt)
sqlConnection.Close()
GoTo endNormal
End Try
sqlConnection.Close()
GoTo endNormal

wie man sieht hab ich 3 Varianten ausprobiert, leider bringt keiner der
varianten den Erfolg
 

Lesen sie die antworten

#1 Armin Zingler
30/01/2010 - 14:14 | Warnen spam
Samy_E schrieb:
sqlCommand.Parameters.AddWithValue("@intNetzplan",
DataRowVersion.Current)
sqlCommand.Parameters.AddWithValue("@textBearbeiter",
DataRowVersion.Current)



Auf den ersten Blick sehe ich nur, dass jeder Parameter
den Wert DataRowVersion.Current hat. Der zweite Parameter
muss aber doch der Wert sein, z.B.

sqlCommand.Parameters.AddWithValue("@intNetzplan", 4711)
sqlCommand.Parameters.AddWithValue("@textBearbeiter", "Ich bin's")



Armin

Ähnliche fragen