2016-11-04 13 views
0

Я создаю проект визуальной студии, который использует локальную базу данных SQL Server в качестве источника данных, который работает правильно.Страница входа в Visual Studio с локальной базой данных SQL сервера

Мне нужно создать форму для входа в проект.

В форме есть текстовое поле с именем пользователя и текстовое поле с паролем, которое пользователь заполнит своей информацией, а затем нажмите кнопку «Войти», в которой необходимо выполнить команду select sql.

Любые рекомендации о том, как это сделать?

Код, который я пробовал, приведен ниже. Это бросает исключение NullReferenceException в строке, которая гласит: «SqlDataReader dr = cmd.ExecuteReader();»

Как решить проблему nullreferenceexception?

Спасибо!

+0

Аналогичные проблемы/решения [здесь] (http://stackoverflow.com/questions/40347457/what-is-wrong-with-my-c-sharp-login-code/ 40348686 # 40348686). – IMCI

ответ

0

Вам необходимо провести некоторое исследование использования ADO.Net, в частности класса SQLCommand.

Однако я бы воздержался от использования встроенных операторов sql, как описано выше, так как это открывает вам SQL-инъекцию. Скорее используйте параметризованные запросы, хранимые процедуры или LINQ to SQL.

+0

Вы должны обязательно сделать то, что сказал Кристофер выше. Однако, кроме того, я бы предложил выбрать счетчик от заявителя, а если он больше 0, то они существуют. –

+0

Спасибо большое, ребята! Я редактирую вопрос с кодом, который я сделал до сих пор. У меня теперь есть еще одна проблема, с которой я обновлю вопрос. –

+0

Вы решили это? Я не уверен относительно нулевой ссылки, которую вы получаете, я никогда не использовал считыватель выполнения для извлечения данных. Я всегда использовал com.ExecuteNonQuery() для вставок, обновлений и удалений, а для извлечения данных я использовал executeScalar, если запрос возвращает одно значение. Если вы извлекаете набор данных, я бы скорее использовал SqlDataAdapter и datatable для получения данных. – ThatChris

1

Попробуйте

string struser = txtUserName.Text; 
string strpwd = txtPassword.Text; 

String sql = "Select * from APPLICANT where applicant_ID_passport=" + struser + " AND password = " + strpwd +""; 
      SqlCommand cmd = new SqlCommand(sql, con); 
      SqlDataReader dr = cmd.ExecuteReader(); 

 Смежные вопросы

  • Нет связанных вопросов^_^