ich verzweifle bald.
ich möchte Parameter nutzen. Beim Insert in die DB (Test mit Access, MSSQL und MySQL) funktioniert die Parameters.addwithvalue Methode. beim Update nutze ich nachfolgenden Code:
Leider erscheint dann in der Datenbank immer statt dem übergebenden Wert der Parameterbezeichner. Also wenn ich @Text3 updaten will, kommt in der DB als Text "@Text3" statt des übergebenen Wertes. Ich hoffe es kann jemand helfen.
Leider habe ich auch noch nicht herausgefunden, wie ich z.B. in einer MSGBOX den SQL Befehl mit den eingefügten Parametern anzeigen lassen kann. Er zeigt mit cmd.Commandtext nur den Befehl und die Parameternamen!
ich möchte Parameter nutzen. Beim Insert in die DB (Test mit Access, MSSQL und MySQL) funktioniert die Parameters.addwithvalue Methode. beim Update nutze ich nachfolgenden Code:
VB.NET-Quellcode
- cmd.Parameters.Clear()
- sqlCommand =
- "UPDATE Tabelle " &
- "SET "
- ' SQL Befehl zusammensetzen
- If _Text1 IsNot Nothing Then
- sqlCommand = sqlCommand & "Text1=@Text1, "
- End If
- If _Text2 IsNot Nothing Then
- sqlCommand = sqlCommand & "Text2=@Text2, "
- End If
- If _Text3 IsNot Nothing Then
- sqlCommand = sqlCommand & "Text3=@Text3, "
- End If
- sqlCommand = sqlCommand & "DS_gueltig_ab=@DS_gueltig_ab "
- sqlCommand = sqlCommand &
- "WHERE " &
- "keyfield = @keyfield " &
- "AND " &
- "DS_gueltig_bis IS NULL "
- cmd.CommandText = sqlCommand
- ' Parameters ADD
- If _Text1 IsNot Nothing Then
- cmd.Parameters.AddWithValue("@Text1", _Text1)
- End If
- If _Text2 IsNot Nothing Then
- cmd.Parameters.AddWithValue("@Text2", _Text2)
- End If
- If _Text3 IsNot Nothing Then
- cmd.Parameters.AddWithValue("@Text3", _Text3)
- End If
- cmd.Parameters.AddWithValue("@DS_gueltig_ab", StrToDate(_Gueltigkeitsdatum_aktuell))
- cmd.ExecuteNonQuery()
Leider erscheint dann in der Datenbank immer statt dem übergebenden Wert der Parameterbezeichner. Also wenn ich @Text3 updaten will, kommt in der DB als Text "@Text3" statt des übergebenen Wertes. Ich hoffe es kann jemand helfen.
Leider habe ich auch noch nicht herausgefunden, wie ich z.B. in einer MSGBOX den SQL Befehl mit den eingefügten Parametern anzeigen lassen kann. Er zeigt mit cmd.Commandtext nur den Befehl und die Parameternamen!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Squanto“ ()