簡體   English   中英

c#MySqlCommand似乎沒有解析參數

[英]c# MySqlCommand doesn't appear to be resolving Parameters

我正在嘗試使用參數運行MySqlCommand,但是當我查看SQL日志時,參數顯示出來。

我已嘗試使用@和?,在我的sqlconnection字符串中嘗試使用'old syntax = yes'。

這是我的代碼。

bool CheckLoginDetails(string username, string password){
    DataTable dt = new DataTable ();
    MySqlCommand command = new MySqlCommand ("select * from `accounts` where `username` = '@username';", SL.Database.connection);
    command.Parameters.AddWithValue ("@username", username);
    dt.Load (command.ExecuteReader());
}

這是SQL日志。

150823  3:19:50    22 Connect   root@localhost on unity_test
       22 Query SHOW VARIABLES
       22 Query SHOW COLLATION
       22 Query SET character_set_results=NULL
       22 Init DB   unity_test
150823  3:19:52    22 Query select * from `accounts` where `username` = '@username'

我正在使用.net 2.0而且我不確定mysql dll版本,我發現這里: http//forum.unity3d.com/threads/reading-database-and-or-spreadsheets.11466/

由於Unity,我無法升級.net。 任何建議將不勝感激!

建議(未測試):

bool CheckLoginDetails(string username, string password){
    string sql = select * from accounts where username = ?";
    MySqlCommand command  = new MySqlCommand(sql);
    command.Parameters.Add(new MySqlParameter("", username));
    MySqlDataReader r = command.ExecuteReader();
    ...
}

重點是“?” 應該管用。

嘗試command.Parameters.Add(“@ username”,MysqlDbType.Varchar).Value = username;

應該管用 !

試試這個,改變

MySqlCommand command = new MySqlCommand ("select * from `accounts` where `username` = '@username';", SL.Database.connection);
command.Parameters.AddWithValue ("@username", username);

MySqlCommand command = new MySqlCommand ("select * from accounts where username = @username;", SL.Database.connection);
command.Parameters.Add("@username", username);

試試這個(建議)

bool CheckLoginDetails(string username, string password){
DataTable dt = new DataTable ();
MySqlCommand command = new MySqlCommand ("select * from accounts where username = @username;", SL.Database.connection);
command.Parameters.AddWithValue ("@username", username);
dt.Load (command.ExecuteReader());

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM