Moin,
folgendes Problem:
ich arbeite mit Datenbanken die leider auf einem MySQL Server liegen. Umstellung nicht möglich.
Ich pflege etwas in Datenbanken ein. Insert und Update kein Problem.
z.B. so:
Jedoch klappt das Löschen nicht.
Error:
MySql.Data.MySqlClient.MySqlException ist aufgetreten.
ErrorCode=-2147467259
HResult=-2147467259
Message=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 ''tb_room' WHERE 'RAUMNR'= 'R.150-02'' at line 1
Number=1064
Source=MySql.Data
StackTrace:
bei MySql.Data.MySqlClient.MySqlStream.ReadPacket()
bei MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
bei MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
bei MySql.Data.MySqlClient.MySqlDataReader.NextResult()
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
bei Inventarisierung.mod_SQL.Delete_Row(String table_, String col, String val, MySqlConnection conn) in PFAD....mod SQL.vb:Zeile 50.
InnerException:
Verstehe es nicht.
Alle Variablen sind vorhanden und klappen auch im Insert. Finde dazu überhaupt nichts passendes. Über PHP klappt das ganze sofort.
folgendes Problem:
ich arbeite mit Datenbanken die leider auf einem MySQL Server liegen. Umstellung nicht möglich.
Ich pflege etwas in Datenbanken ein. Insert und Update kein Problem.
z.B. so:
VB.NET-Quellcode
- Dim cmdadd As New MySqlCommand
- cmdadd.Connection = conn
- If iMod = 0 Then
- cmdadd.CommandText = "INSERT INTO tb_room VALUES (NULL, ?NLNR, ?RAUMNR, ?ETAGE, ?BEZEICHNUNG, ?FUNKTION, ?NOTIZ, ?BILD, ?BILDNAME, ?BILDGROESSE)"
- Else
- cmdadd.CommandText = "UPDATE tb_room SET RAUMNR=?RAUMNR, ETAGE=?ETAGE, BEZEICHNUNG=?BEZEICHNUNG, FUNKTION=?FUNKTION, NOTIZ=?NOTIZ, BILD=?BILD, BILDNAME=?BILDNAME, BILDGROESSE=?BILDGROESSE WHERE RAUMNR=?OLDROOM"
- End If
- Dim FileSize As UInt32
- Dim rawData() As Byte = Nothing
- If tbImage.Text.Length > 0 Then
- Dim ms As New MemoryStream()
- If pbImage.Image IsNot Nothing Then
- pbImage.Image.Save(ms, ImageFormat.Png)
- rawData = ms.ToArray
- FileSize = ms.Length
- End If
- End If
- cmdadd.Parameters.AddWithValue("?NLNR", cbNLs.SelectedItem)
- cmdadd.Parameters.AddWithValue("?RAUMNR", tbRaumNr.Text)
- cmdadd.Parameters.AddWithValue("?ETAGE", cbEtage.SelectedItem)
- cmdadd.Parameters.AddWithValue("?BEZEICHNUNG", tbBez.Text)
- cmdadd.Parameters.AddWithValue("?FUNKTION", tbFunktion.Text)
- cmdadd.Parameters.AddWithValue("?NOTIZ", rtbInfo.Text)
- cmdadd.Parameters.AddWithValue("?BILDNAME", tbImage.Text)
- cmdadd.Parameters.AddWithValue("?BILDGROESSE", FileSize)
- cmdadd.Parameters.AddWithValue("?BILD", rawData)
Jedoch klappt das Löschen nicht.
VB.NET-Quellcode
- Public Sub Delete_Row(table_ As String, col As String, val As String, conn As MySqlConnection)
- conn.Open()
- Dim cmdDel As New MySqlCommand("DELETE FROM ?TABLE WHERE ?COL= ?VAL", conn)
- cmdDel.Parameters.AddWithValue("?TABLE", "tb_room")
- cmdDel.Parameters.AddWithValue("?COL", col)
- cmdDel.Parameters.AddWithValue("?VAL", val)
- cmdDel.ExecuteNonQuery()
- conn.Close()
- End Sub
Error:
MySql.Data.MySqlClient.MySqlException ist aufgetreten.
ErrorCode=-2147467259
HResult=-2147467259
Message=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 ''tb_room' WHERE 'RAUMNR'= 'R.150-02'' at line 1
Number=1064
Source=MySql.Data
StackTrace:
bei MySql.Data.MySqlClient.MySqlStream.ReadPacket()
bei MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
bei MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
bei MySql.Data.MySqlClient.MySqlDataReader.NextResult()
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
bei Inventarisierung.mod_SQL.Delete_Row(String table_, String col, String val, MySqlConnection conn) in PFAD....mod SQL.vb:Zeile 50.
InnerException:
Verstehe es nicht.
Alle Variablen sind vorhanden und klappen auch im Insert. Finde dazu überhaupt nichts passendes. Über PHP klappt das ganze sofort.
~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~