VS2013 MySQL Parameter -> FormatException

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Top44.

    VS2013 MySQL Parameter -> FormatException

    Hi Leute,

    ich versuche bei einem neuen Projekt allerdings erstmals unter VS2013 bei einem SQL Insert die Werte zu Parameterisieren.

    Bekomme jedoch einen Fehler bei der Ausführung:
    "Die Eingabezeichenfolge hat das falsche Format" @System32

    Der Code sieht so aus:

    VB.NET-Quellcode

    1. Dim _SQL As String = ""
    2. _SQL += "INSERT INTO jobs (task_from, task_subject, task_text, task_contractor, task_date, task_status) "
    3. _SQL += "VALUES (@from,@subject,@text,@contractor,@date,@status)"
    4. Dim conStr As String = "server=xxxxxx;user id=xxxx;password=xxxx;database=xxxx"
    5. Dim con As New MySqlConnection(conStr)
    6. Dim mysqlcmd As New MySqlCommand(_SQL, con)
    7. 'Dim task_a_date As String = f.GetTimestampFromDate(DateTimePicker1.Value.Date)
    8. Dim task_a_date As String = "dfghdfgdfgdfg"
    9. Dim t_subject As String = f.encode_umlaute(txt_title.Text)
    10. Dim t_text As String = f.AES_Encrypt(f.encode_umlaute(txt_text.Text), My.Settings.NamedContextViewer)
    11. 'mysqlcmd.Parameters.AddWithValue("@id", MySqlDbType.Text).Value = 9999
    12. mysqlcmd.Parameters.AddWithValue("@from", MySqlDbType.Text).Value = "ff"
    13. mysqlcmd.Parameters.AddWithValue("@subject", MySqlDbType.Text).Value = t_subject
    14. mysqlcmd.Parameters.AddWithValue("@text", MySqlDbType.Text).Value = t_text
    15. mysqlcmd.Parameters.AddWithValue("@contractor", MySqlDbType.Text).Value = "fdsdf"
    16. mysqlcmd.Parameters.AddWithValue("@date", MySqlDbType.Text).Value = task_a_date
    17. mysqlcmd.Parameters.AddWithValue("@status", MySqlDbType.Text).Value = GlobalStatus
    18. mysqlcmd.CommandText = _SQL
    19. mysqlcmd.Connection = con
    20. con.Open()
    21. mysqlcmd.ExecuteNonQuery()
    22. con.Close()


    Ich habe als Parameterzeichen schon @ und ? probiert.
    Die MySqlDBTypen passen auch, schon 12 mal alles überprüft.

    Hat jemand noch ne Idee wie es mit Parametern geht?

    Grüße
    Ja, passt alles.

    Alles zig mal überprüft. Es kommt alles als String, variablen sind gefüllt.
    @date ist nen Timestamp den ich über die App berechne.

    Sofern ich das über einen Normalen Query mache, sprich: "INSERT INTO jobs (1, 2,3) VALUES ('" & txt_1.text & "', '" & txt_2.text & "', '" & txt_3.text & "')"
    geht es problemlos.

    Verstehe das alles nicht.

    Grüße