SqlParameterCollection.AddWithValue-Methode beim update

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    SqlParameterCollection.AddWithValue-Methode beim update

    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:

    VB.NET-Quellcode

    1. cmd.Parameters.Clear()
    2. sqlCommand =
    3. "UPDATE Tabelle " &
    4. "SET "
    5. ' SQL Befehl zusammensetzen
    6. If _Text1 IsNot Nothing Then
    7. sqlCommand = sqlCommand & "Text1=@Text1, "
    8. End If
    9. If _Text2 IsNot Nothing Then
    10. sqlCommand = sqlCommand & "Text2=@Text2, "
    11. End If
    12. If _Text3 IsNot Nothing Then
    13. sqlCommand = sqlCommand & "Text3=@Text3, "
    14. End If
    15. sqlCommand = sqlCommand & "DS_gueltig_ab=@DS_gueltig_ab "
    16. sqlCommand = sqlCommand &
    17. "WHERE " &
    18. "keyfield = @keyfield " &
    19. "AND " &
    20. "DS_gueltig_bis IS NULL "
    21. cmd.CommandText = sqlCommand
    22. ' Parameters ADD
    23. If _Text1 IsNot Nothing Then
    24. cmd.Parameters.AddWithValue("@Text1", _Text1)
    25. End If
    26. If _Text2 IsNot Nothing Then
    27. cmd.Parameters.AddWithValue("@Text2", _Text2)
    28. End If
    29. If _Text3 IsNot Nothing Then
    30. cmd.Parameters.AddWithValue("@Text3", _Text3)
    31. End If
    32. cmd.Parameters.AddWithValue("@DS_gueltig_ab", StrToDate(_Gueltigkeitsdatum_aktuell))
    33. 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“ ()

    ich täte dir empfehlen, die Datenbänkerei erstmal ohne Datenbank zu erlernen: Datenbänkerei-Einstieg

    Weil guckma, was für einen Aufwand du treibst für ein so winziges Detail - wie soll das werden, wenn du wirkliche Datenbanken entwirfst, mit zig Tabellen und hunderten von Spalten?

    Edit: Scheinbar debugst du auch noch mit Msgbox - da bietet VisualStudio viel besseres: Visual-Studio richtig nutzen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()