| |

VB.NET - FortgeschritteneUpdate 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 Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|