при обращение к бд System.InvalidOperationException: "Fill: Свойство SelectCommand.Connection не инициализировано."
private void ButtonLogin_Click(object sender, EventArgs e)
{
String loginUser = loginField.Text;
String passUser = passField.Text;
DB db = new DB();
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE 'login' = @uL AND 'pass' = @uP");
command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginUser;
command.Parameters.Add("@uP", MySqlDbType.VarChar).Value = passUser;
MySqlCommand command1 = command;
adapter.SelectCommand = command1;
adapter.Fill(table);
if (table.Rows.Count > 0)
MessageBox.Show("Авторизация успешна");
else
MessageBox.Show("Пользователь не зарегестрирован");
}
}
}
Ответы (1 шт):
Автор решения: Sergei Maslov
→ Ссылка
Возможно вам следует добавить второй аргумент в MySqlCommand. Вторым аргументом является переменная, хранящая строку подключения.
String loginUser = loginField.Text;
String passUser = passField.Text;
DB db = new DB();
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE 'login' = @uL AND 'pass' = @uP", connectionString);
command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginUser;
command.Parameters.Add("@uP", MySqlDbType.VarChar).Value = passUser;
MySqlCommand command1 = command;
adapter.SelectCommand = command1;
adapter.Fill(table);
if (table.Rows.Count > 0)
MessageBox.Show("Авторизация успешна");
else
MessageBox.Show("Пользователь не зарегестрирован");