Добавление строки в таблицу MySql c#
Хочу реализовать консольную функцию регистрации пользователя в sql таблице делаю так:
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
void Register()
{
string regStr = "insert into userdata values(@login,@password,@score)";
MySqlCommand regComm = new MySqlCommand(regStr, conn);
Console.WriteLine("Срочно зарегистрироваться!");
Console.WriteLine("Введите имя");
string login = Convert.ToString(Console.ReadLine());
Console.WriteLine("Введите пароль");
int password = Convert.ToInt32(Console.ReadLine());
int score = 0;
regComm.Parameters.AddWithValue("@login", login);
regComm.Parameters.AddWithValue("@password", password);
regComm.Parameters.AddWithValue("@score", score);
}
но при дальнейшем просмотре таблицы в Сommand Line Client вижу что данные не добавились. (связь моего кода с таблицей проверял, не работает именно эта функция)
Ответы (1 шт):
Автор решения: Aarnihauta
→ Ссылка
Ваш код не работает, поскольку вы только открыли подключение, но не выполнили команду. Как я написал в комментариях последовательность такая:
- Открываем подключение
- Выполняем команду
- Закрываем подключение
string regStr = "insert into userdata values(@login,@password,@score)";
Console.WriteLine("Введите имя");
string login = Convert.ToString(Console.ReadLine());
Console.WriteLine("Введите пароль");
int password = Convert.ToInt32(Console.ReadLine());
int score = 0;
//Создаем объект MySqlConnection внутри using. Подключение само закроется после выполнения блока кода.
using ( MySqlConnection connection = new MySqlConnection(connStr) )
{
//1. Открываем подключение к БД
connection.Open();
//Создаем объект класса MySqlCommand. В него передаем нашу sql-команду и подключение к БД
MySqlCommand regCommand = new MySqlCommand(regStr, connection);
regCommand.Parameters.AddWithValue("@login", login);
regCommand.Parameters.AddWithValue("@password", password);
regComm.Parameters.AddWithValue("@score", score);
//2. Выполняем команду
command.ExecuteNonQuery()
} //3. Подключение закроется после выполнения блока кода