| |

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 |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|