Folgender Quellcode in meinem Programm schreibt einen Befehl in eine MySQL Datenbank...
Folgendes wird von dem Programm nach dem ausführen des oberen Quelltextes an die Datenbank gesandt.
Dabei tritt jedoch ein fehler auf.
Spoiler anzeigen
Kopiere ich den Befehl den das Programm an MySQL schickt und führe ihn manuell aus tritt in phpMyAdmin folgender fehler auf:
#1064 - 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 'INSERTÂ INTOÂ Chat (Nachricht,User,Datum,Uhrzeit,ID)Â VALUESÂ ('asdf','Thomas','' at line 1
Füge ich aber diesen Befehl zuerst in irgendeine freie zeile (z.b. Google ) ein und kopiere diese anschliessend wieder aus dieser heraus funktioniert der Befehl einwandfrei:
1 Datensatz eingefügt. (Die Abfrage dauerte 0.1080 Sekunden)
Irgendwelche Idean was ich falsch mache?
VB.NET-Quellcode
- Dim sqlquery = "INSERT INTO Chat (Nachricht,User,Datum,Uhrzeit,ID) VALUES ('" + TextBox_send.Text + "','" + TextBox1.Text + "','" + My.Computer.Clock.LocalTime.ToShortDateString.ToString + "','" + My.Computer.Clock.LocalTime.ToLongTimeString.ToString + "','" + Val(My.Settings.Serverversion.ToString + 1).ToString + "')"
- Dim command As New MySqlCommand
- command.Connection = MySqlConnection
- command.CommandText = sqlquery.ToString
- Myadapter.SelectCommand = command
- Dim mydata As MySqlDataReader = command.ExecuteReader
Folgendes wird von dem Programm nach dem ausführen des oberen Quelltextes an die Datenbank gesandt.
Dabei tritt jedoch ein fehler auf.
MySql.Data.MySqlClient.MySqlException (0x80004005): 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 'INSERT INTO Chat (Nachricht,User,Datum,Uhrzeit,ID) VALUES ('adsf','Thomas','' at line 1
bei MySql.Data.MySqlClient.MySqlStream.ReadPacket()
bei MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
bei MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, 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.ExecuteReader()
bei WebChat_Test_1.Form1.Button_Send_Click(Object sender, EventArgs e) in C:\Users\Thomas\Documents\Visual Studio 2012\Projects\WebChat_Test_1\WebChat_Test_1\Form1.vb:Zeile 355.
bei MySql.Data.MySqlClient.MySqlStream.ReadPacket()
bei MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
bei MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, 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.ExecuteReader()
bei WebChat_Test_1.Form1.Button_Send_Click(Object sender, EventArgs e) in C:\Users\Thomas\Documents\Visual Studio 2012\Projects\WebChat_Test_1\WebChat_Test_1\Form1.vb:Zeile 355.
Kopiere ich den Befehl den das Programm an MySQL schickt und führe ihn manuell aus tritt in phpMyAdmin folgender fehler auf:
#1064 - 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 'INSERTÂ INTOÂ Chat (Nachricht,User,Datum,Uhrzeit,ID)Â VALUESÂ ('asdf','Thomas','' at line 1
Füge ich aber diesen Befehl zuerst in irgendeine freie zeile (z.b. Google ) ein und kopiere diese anschliessend wieder aus dieser heraus funktioniert der Befehl einwandfrei:
1 Datensatz eingefügt. (Die Abfrage dauerte 0.1080 Sekunden)
Irgendwelche Idean was ich falsch mache?