Здравствуйте сделал авторизацию пользователя в программе через бд по логину и паролю.Хотелось чтобы после входа.Выводились данные авторизованного пользователя.Помогите пожалуйста разобраться как можно это реализовать. Вот код авторизации:
using (var con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\User\Desktop\база\Питание.mdf;Integrated Security=True;Connect Timeout=30"))
{
con.Open();
using (var cmd = new SqlCommand("Select Count (1) From Регистрация where Логин=@login and Пароль=@Pass", con))
{
cmd.Parameters.AddWithValue("login", textBox1.Text);
cmd.Parameters.AddWithValue("Pass", textBox2.Text);
var accountsCount = (int)cmd.ExecuteScalar();
if (accountsCount==1)
{
Form5 a = new Form5();
a.label1.Text = accountsCount.ToString();
a.Show();
}
else
{
MessageBox.Show("Неверные данные");
}
}
}
Так же как и с «авторизацией», с помощью SqlCommand выполняем запрос к таблице, проставляя список нужных столбцов:
using (var cmd = new SqlCommand("Select пол, рост, вес From Регистрация where Логин=@login and Пароль=@Pass", con))
{
Чтобы прочитать результаты используем метод ExecuteReader, который возвращает объект SqlDataReader. Этот объект содержит методы по чтению набора данных.
В документации к методу есть пример использования:
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(String.Format("{0}", reader[0]));
}
К столбцам можно обращаться по порядку в запросе (reader[1], reader[2]) так и по именам (reader["пол"], reader["рост"], и т.д.). Поэкспериментируйте с запросом и чтением результатов и выберите удобный способ.
З.Ы. Стоит заметить что такая «авторизация» имеет смысл только для Вашего приложения и не защищает от прямого доступа к файлу БД. Для защиты данных устанавливайте сервер и настраивайте встроенную авторизацию. И не храните пароли в открытом виде.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей