Как войти в систему с помощью sqlserverce
Привет,
Я пытаюсь написать приложение login Windows form с sqlserverce в качестве базовой базы данных. Проблема в том, что я терпел неудачу. Есть ли ошибка в моем синтаксисе ?
естественно я добавил ссылку на пространство имен SqlServerCe а также в ссылочные библиотеки DLL
пожалуйста, не обращайте внимания на конкатенацию строк. Это написано в тестовой среде.
Пожалуйста помочь
Что я уже пробовал:
private void button1_Click(object sender, EventArgs e) { string lg = "select username, password from creds where username= '" + txtusername + "' and password= '" + txtpassword + "'"; con.Open(); SqlCeCommand cmd = new SqlCeCommand(lg, con); SqlCeDataReader dr; dr = cmd.ExecuteReader(); int k = 0; while (dr.Read()) { k++; } if (k == 1) MessageBox.Show("success!"); else MessageBox.Show("failure"); con.Close(); }
PIEBALDconsult
0) пожалуйста, научитесь использовать параметризованные операторы.
1) Пожалуйста, не храните простые текстовые пароли.
2) Пожалуйста, не помещайте код доступа к данным непосредственно в код пользовательского интерфейса.
Здесь есть много статей, которые должны помочь:
https://www.codeproject.com/Articles/704865/Salted-Password-Hashing-Doing-it-Right
https://www.codeproject.com/Articles/608860/Understanding-and-Implementing-Password-Hashing
https://www.codeproject.com/Articles/425150/Beginners-guide-to-a-secure-way-of-storing-passwor
https://www.codeproject.com/Articles/54164/Secure-Password-Authentication-Explained-Simply
NotPolitcallyCorrect
Что значит "провал"? Вы получаете какие-нибудь ошибки? Какие ошибки вы получаете? Когда вы проходите через свой код, что содержат ваши переменные? Что содержит ваш запрос? Действительно ли ваше соединение открыто или вы тоже получаете ошибки?