2016-06-13 7 views
1

Ich habe ein Problem mit meinem Schreiben in die Datenbank und Lesen aus der Datenbank.C# MySQL Fehler: Schlüsselwort nicht unterstützt

Hier ist mein Code:

MySqlConnection conn = new MySqlConnection(ConnectionString); 
string ID = ""; 
MySqlCommand cmdRegister = new MySqlCommand("Insert into Players (username,password) values('"+"John"+"', '"+"johnisbest"+"')", conn); 
cmdRegister.ExecuteNonQuery(); 
MySqlCommand cmdRead = new MySqlCommand("SELECT ID FROM Players WHERE username = '"+this.username+"';", conn); 
MySqlDataReader reader = cmdRead.ExecuteReader(); 
conn.Open(); 

while (reader.Read()) 
{ 
    ID = (string)reader["ID"]; 
} 
conn.Dispose(); 
return ID; 

Es ist mir immer Fehler geben: Stichwort jede Hilfe nicht

unterstützt

Dank für das;)

EDIT:

public MySQL(string IPaddress, string port, string username, string password, string database) 
{ 
    ConnectionString = "datasource=" + IPaddress + ";port=" + port + ";username=" + username + ";password=" + password + ";database=" + database + ";charse=utf_8"; 
} 
sql = new MySQL("IP address to database", "3306", "username to database", "Here is my password to database", "name of my database"); 
+3

Passwort ist ein [Reserviert Wort] (https://dev.mysql.com/doc/refman/5.5/en/keywords.html). Esacpe es mit Rücken-Ticks. Sie sollten keine Passwörter als Klartext speichern – Plutonix

+0

Verwenden Sie Pwd anstelle des Passworts wie die hier definierte https://www.connectionstrings.com/mysql/ – Adrian

+1

Ich würde auch vorschlagen, dass Sie lernen, Parameter zu verwenden, sowie string.Format() Funktion gegenüber den verketteten Strings zum Erstellen Ihrer Verbindungszeichenfolge. Machen Sie dasselbe mit Ihrer Select-Anweisung, verwenden Sie keine verkettete Zeichenfolge ...! – MethodMan

Antwort

0
ConnectionString = "datasource=" + IPaddress + ";port=" + port + ";username=" + username + ";pwd=" + password + ";database=" + database + ";charse=utf_8"; 

Versucht, passw zu ersetzen ord mit "pwd";

für mich diese Arbeit fein

Server=localhost;Database=testing;UID=root;password=testing;connect timeout=700;charset=utf8;pooling=true;Port=3306 
+0

Danke, aber es funktioniert. –

+0

@ Dortík Welche Version verwenden Sie? – Adrian

+0

Ich benutze Version 4.5 –

Verwandte Themen