авторизация на C# и MySql

313
30 сентября 2017, 19:17

Имеется следующий код:

string Connect = "server=localhost;uid=admin;password=admin;persistsecurityinfo=True;database=test_database";
string CommandText = "SELECT Count(*) FROM login WHERE login = '" + textBox1.Text + "' AND password = '" + textBox2.Text + "' LIMIT 1";
MySqlConnection myConnection = new MySqlConnection(Connect);
MySqlCommand myCommand = new MySqlCommand(CommandText, myConnection);
myConnection.Open();**//я не понял что тут писать?**
myCommand.ExecuteNonQuery();**//и тут тоже?**
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(myCommand);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
    this.Hide();
    disp dp = new disp();
    dp.Show();
}
else
{
    MessageBox.Show("Пожалуйста, проверьте правильность введенных данных!");
}

Ошибка на строке: myCommand.ExecuteNonQuery():

MySql.Data.MySqlClient.MySqlException: "Unknown column 'password' in 'where clause'"

Как это исправить?

Answer 1

Посмотрите на ваш SQL:

SELECT 
    Count(*) 
FROM 
    login 
WHERE 
    login = '" + textBox1.Text + "' AND 
    password = '" + textBox2.Text + "' 
LIMIT 1

Выбрать количество из таблицы login где поле(колонка) login равна тексту из textBox1.Text и поле(колонка) password равна тексту из textBox2.Text.

Удостоверьтесь в том, что имя таблицы login правильное и она действительно существует. А также и имена столбцов login и password тоже верны и эти столбцы есть в указанной таблице.

Ошибка:

MySql.Data.MySqlClient.MySqlException: "Unknown column 'password' in 'where clause'"

говорит о том, что указанная колонка password отсутствует в целевой таблице, в вашем случае в таблице login. Проверьте внимательно таблицу login, есть ли там столбец password, может быть там указано имя с одной буквой s вот так: pasword.

READ ALSO
Async-загрузка скрипта в Electron'e

Async-загрузка скрипта в Electron'e

Вопрос новичка в javascript'е и Electron'еПростой пример из урока про асинхронную загрузку скрипта:

305
Разница дат из строки JS

Разница дат из строки JS

Тут я попытался изобразить следующее:

348
Uncaught RangeError: Unsupported time zone specified undefined

Uncaught RangeError: Unsupported time zone specified undefined

Попытка в Хроме вызвать toLocaleString у даты на любой вкладке кроме about:blank падает с ошибкой

497
JS / onload / querySelector / одинарные косые кавычки / ${…}

JS / onload / querySelector / одинарные косые кавычки / ${…}

Есть функция, которая заменяет дивы на картинки:

336