Tôi đang làm cho một C# Windows Form Application trong visual studio 2010.MySqlCommand Command.Parameters.Add là lỗi thời
Đó ứng dụng được kết nối với một cơ sở dữ liệu mysql, và tôi muốn để chèn dữ liệu trong đó.
Bây giờ tôi có một phần mã này:
MySqlConnection connection;
string cs = @"server=server ip;userid=username;password=userpass;database=databse";
connection = new MySqlConnection(cs);
connection.Open();
MySqlCommand command = new MySqlCommand();
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES ('@mcUserName', '@mcUserPass', '@twUserName', '@twUserPass')";
command.CommandText = SQL;
command.Parameters.Add("@mcUserName", mcUserNameNew);
command.Parameters.Add("@mcUserPass", mcUserPassNew);
command.Parameters.Add("@twUserName", twUserNameNew);
command.Parameters.Add("@twUserPass", twUserPassNew);
command.Connection = connection;
command.ExecuteNonQuery();
connection.Close();
Kết nối là tốt. Điều đó hoạt động.
Tôi đã đọc here theo cách mà tôi hiện có, là cách lưu để thực hiện truy vấn. Điều đó vẫn đúng không?
Và bây giờ đến câu hỏi thực. Với mã trên, tôi nhận được cảnh báo sau đây trong visual studio:
'MySql.Data.MySqlClient.MySqlParameterCollection.Add(string, object)' is obsolete: '"Add(String parameterName, Object value) has been deprecated. Use AddWithValue(String parameterName, Object value)"'
Đó là cảnh báo cho mọi parameters.add
Và nó thậm chí không làm việc, vì các giá trị được chèn là @mcUserName , @mcUserPass, v.v. thay vì các giá trị mà các biến mcUserNameNew và vân vân đang giữ ...
Vì vậy, câu hỏi của tôi là, tôi đang làm điều gì sai, và cách mới để chèn sql lưu làm gì truy vấn?
sử dụng 'AddWithValue' như đề xuất trong báo – Habib
@Habib, thực hiện, cảnh báo đã mất hết, nhưng vẫn không phải là giá trị ngay trong db ...] – Mathlight