Robię to C# Windows formularz zgłoszeniowy w visual studio 2010.MySqlCommand Command.Parameters.Add jest przestarzała
To aplikacja łączy się z bazą danych MySQL i chcę wstawić dane w nim.
Teraz mam ten fragment kodu:
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();
połączenie jest w porządku. To działa.
Przeczytałem here, że sposób, w jaki mam teraz, jest sposobem zapisu zapytań. Czy to nadal prawda?
A teraz na prawdziwe pytanie. Z tym kodem powyżej, pojawia się następujące ostrzeżenie w 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)"'
To jest ostrzeżenie dla każdego parameters.add
I to nawet nie działa, ponieważ wartości, które są wkładane są @mcUserName , @mcUserPass i tak dalej, zamiast wartości, które zmienne mcUserNameNew itd. trzymają ...
Moje pytanie brzmi: czy robię coś nie tak i jaki jest nowy sposób na wtrysk sql pytanie?
użycie 'AddWithValue' jak zasugerowano w ostrzeżeniu – Habib
@Habib, zrobione, ostrzeżenia zostaną usunięte, ale nadal nie prawo wartość w db ...] – Mathlight