2016-06-13 18 views
1

データベースへの書き込みとデータベースからの読み込みに問題があります。ここでC#MySQLエラー:キーワードがサポートされていません

は私のコードは次のとおりです。

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; 

それは私に常にエラー与える:キーワードは、すべての助けのための

感謝をサポートしていません。)

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

パスワードは、[予約語](https://dev.mysql.com/doc/refman/5.5/en/keywords.html)です。エサクペそれはバックダニで。パスワードをプレーンテキストとして保存するべきではない – Plutonix

+0

ここで定義されている方法のように、パスワードの代わりにpwdを使うhttps://www.connectionstrings.com/mysql/ – Adrian

+1

また、パラメータと同様にstring.Format ()関数は、接続文字列を連結文字列を構築するために連結します。あなたのSelectステートメントで同じことを連結文字列を使用しないで...! – MethodMan

答えて

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

パスワードを交換しようとしましたord "pwd";私にとって

この作品罰金

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

ありがとうございますが、それは動作します。 –

+0

@Dortíkどのバージョンを使用していますか? – Adrian

+0

バージョン4.5を使用しています –

関連する問題