|
| |

VB.NET - Fortgeschrittene| Update funktioniert nicht (SQLDataAdapter) | |  | | Autor: ThomasW | | Datum: 12.01.04 10:17 |
| Hallo Leute,
ich habe da ein Problem.
VB.Net; SQL Server
Ich übergebe ein Dataset zur Aktualisierung der Tabelle in der Datenbank.
Im Dataset sind während der ganzen Zeit die richtigen Werte vorhanden.
Nach dem Befehl:
mysqldataadapter.Update(mydataset)
erhält die ganze Datenbanktabelle nur die Werte des letzten Eintrages im Dataset.
Z.B. richtig wäre (so wie es auch im Dataset steht):
Rows(0) 1 2 3
Rows(1) 4 5 6
Eintrag in der Datenbank ist aber:
Rows(0) 4 5 6
Rows(1) 4 5 6
Im Dataset stehen auch nach dem Befehl die richtigen Werte.
Vielen Dank im Voraus für die Hilfe
ThomasW
Code:
Deklarationen:
Private m_configreader As New System.Configuration.AppSettingsReader
Private myconnectionstring As String = m_configreader.GetValue("sDatasourceCN", GetType(System.String))
Private mysqlconnection As New SqlConnection(myconnectionstring)
Private mysqldataadapter As SqlDataAdapter
Codeabschnitt:
Public Function update_requirement(ByVal mydataset As DataSet) As DataSet
Dim mysqlcmd As String
Dim mysqlcmdup As SqlCommand
Dim mysqlcmdin As SqlCommand
Dim mysqlcmdde As SqlCommand
Dim mydelparm As SqlParameter
mysqlcmd = ("select re_requirement_id, re_general_id_fk, re_type_id_fk, re_name_id_fk, re_minimumversion, re_maximumversion from lcms_meta_requirement")
mysqlcmdup = New SqlCommand("update lcms_meta_requirement set re_general_id_fk=@re_general_id_fk, re_type_id_fk=@re_type_id_fk, re_name_id_fk=@re_name_id_fk, re_minimumversion=@re_minimumversion, re_maximumversion=@re_maximumversion", mysqlconnection)
mysqlcmdup.Parameters.Add("@re_requirement_id", SqlDbType.Int, 4, "re_requirement_id")
mysqlcmdup.Parameters.Add("@re_general_id_fk", SqlDbType.Int, 4, "re_general_id_fk")
mysqlcmdup.Parameters.Add("@re_type_id_fk", SqlDbType.Int, 4, "re_type_id_fk")
mysqlcmdup.Parameters.Add("@re_name_id_fk", SqlDbType.Int, 4, "re_name_id_fk")
mysqlcmdup.Parameters.Add("@re_minimumversion", SqlDbType.Char, 30, "re_minimumversion")
mysqlcmdup.Parameters.Add("@re_maximumversion", SqlDbType.Char, 30, "re_maximumversion")
mysqlcmdin = New SqlCommand("insert into lcms_meta_requirement (re_general_id_fk, re_type_id_fk, re_name_id_fk, re_minimumversion, re_maximumversion) values (@re_general_id_fk, @re_type_id_fk, @re_name_id_fk, @re_minimumversion, @re_maximumversion)", mysqlconnection)
mysqlcmdin.Parameters.Add("@re_general_id_fk", SqlDbType.Int, 4, "re_general_id_fk")
mysqlcmdin.Parameters.Add("@re_type_id_fk", SqlDbType.Int, 4, "re_type_id_fk")
mysqlcmdin.Parameters.Add("@re_name_id_fk", SqlDbType.Int, 4, "re_name_id_fk")
mysqlcmdin.Parameters.Add("@re_minimumversion", SqlDbType.Char, 30, "re_minimumversion")
mysqlcmdin.Parameters.Add("@re_maximumversion", SqlDbType.Char, 30, "re_maximumversion")
mysqlcmdde = New SqlCommand("delete from lcms_meta_requirement where re_requirement_id=@re_requirement_id", mysqlconnection)
mydelparm = mysqlcmdde.Parameters.Add("@re_requirement_id", SqlDbType.Int, 4, "re_requirement_id")
mydelparm.SourceVersion = DataRowVersion.Original
mysqldataadapter = New SqlDataAdapter(mysqlcmd, mysqlconnection)
mysqldataadapter.UpdateCommand = mysqlcmdup
mysqldataadapter.InsertCommand = mysqlcmdin
mysqldataadapter.DeleteCommand = mysqlcmdde
Try
mysqldataadapter.Update(mydataset)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return mydataset
End Function |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|