MySQL ExecuteNonQuery Fehlermeldung

  • VB.NET
  • .NET (FX) 4.0

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

    MySQL ExecuteNonQuery Fehlermeldung

    Hallo, mein Programm gibt neuerdings Fehler aus, bis vor kurzem rannte es noch ohne Probleme (bereits im Einsatz)

    Fehlermeldung: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


    wenn der gleiche Query, wie weiter unten beschrieben, direkt über phpmyadmin auf die Datenbank gefeuert wird, kommt kein Fehler.
    Darf ich nicht so viele Spalten updaten oder wieso fährt der einen Fehler?

    Query:

    SQL-Abfrage

    1. UPDATE elemente
    2. SET
    3. DTL_Start = NULL ,DTL_Ende = NULL ,DTL_BaugrIO = NULL ,
    4. ABS_Start = NULL ,ABS_Ende = NULL ,ABS_BaugrIO = NULL ,
    5. KTR_Start = NULL ,KTR_Ende = NULL ,KTR_BaugrIO = NULL ,
    6. LFG_Start = NULL ,LFG_Ende = NULL ,LFG_BaugrIO = NULL ,
    7. Geliefert = NULL
    8. WHERE ID=872


    VB.NET-Quellcode

    1. Friend Shared Function ExecuteNonQuery(ByVal Query As String, Optional ByVal ProjsDB As Boolean = False) As String
    2. Try
    3. Using connection As New MySqlConnection(IIf(ProjsDB = False, My.Settings.ProjektConnectionString, My.Settings.ProjectsConnectionString).ToString)
    4. Using command As New MySqlCommand()
    5. ' Set the connection
    6. command.Connection = connection
    7. ' Not necessary, but good practice
    8. command.CommandType = CommandType.Text
    9. ' Example query using parameters
    10. command.CommandText = Query
    11. connection.Open()
    12. 'fire command
    13. command.ExecuteNonQuery()
    14. End Using ' Dispose Command
    15. End Using ' Dispose (and hence Close) Connection
    16. Catch ex As Exception
    17. MessageBox.Show("Unerwarteter Fehler aufgetreten in 'cSQL.vb.ExecuteUpdate' : " & vbNewLine & ex.Message) '& vbnewline & "InnerException: " & ex.InnerException.ToString)
    18. End Try
    19. Return Nothing
    20. End Function





    Lösung: Der Fehler lag am String zusammenfassen, der SQL Command kam anscheind nicht mit folgendem StringBuilder (selbstgebastelt) aus:

    VB.NET-Quellcode

    1. For n = Start To lst.Count - 1 'for each defined column from last to StartColumn
    2. Dim comma As Char = CChar(IIf(ColUpdate = Nothing, Nothing, ","c))
    3. ColUpdate = ColUpdate & comma & String.Format("{0}=NULL", lst(n))
    4. Next


    die folgende Stelle war der Bösewicht:

    VB.NET-Quellcode

    1. Dim comma As Char = CChar(IIf(ColUpdate = Nothing, Nothing, ","c))

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