Member 12650438 Ответов: 1

Код входа в систему с помощью приложения C# windows forms


мне нужен код для кнопки входа в систему в c#. У меня есть 2 поля логин и пароль и логин и задней части как SQL сервер я создал таблицу моих зарегистрировать название поля логин и пароль. как только я нажимаю на кнопку входа в систему, он должен войти в систему, если данные пользователя верны, а не ошибка.

может ли кто-нибудь помочь с этим при написании кода.

Что я уже пробовал:

я попытался подключиться к базе данных, чтобы получить доступ к существующим полям, таким как имя пользователя и пароль.

Mehdi Gholam

Ваш вопрос не имеет смысла, так как "вход" зависит от того, что вы делаете и как вы построили свою систему.

Member 12650438

мой код также не принимает после подтверждения правильных деталей.



частная button1_Click_1 недействительным(объект отправителя, EventArgs в электронной)
{
строка cs = @"источник данных=.;база данных=master;Интегрированная безопасность=True;";


если (элемент textbox1.Текст == "" || поле textbox2.Текст == "")
{
Ящик для сообщений.Показать("пожалуйста, укажите имя пользователя и пароль");
вернуть;
}
пробовать
{
//Создать SqlConnection
SqlConnection con = новый SqlConnection(cs);
Команда sqlcommand cmd и = новая команда sqlcommand("выбрать * из регистр где UserNmae=@username и Password=@пароль", кон);
cmd.параметры.AddWithValue("@username", textBox1.Text);
cmd.параметры.AddWithValue ("@password", textBox2.Text);
против.Открыть();
SqlDataAdapter adapt = новый SqlDataAdapter(cmd);
DataSet ds = новый набор данных();
адаптироваться.Заполнить(ДС);
против.Закрывать();
int count = ds.Tables[0].Rows.Рассчитывать;
//Если count равен 1, то show frmMain form
если (count == 1)
{
Ящик для сообщений.Show("Вход Успешен!");
этот.Скрыть();
Приборная панель ДСБ = новая приборная панель();
}
еще
{
Ящик для сообщений.Show("Войти Не Удалось!");
}
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать(напр.сообщение);
}

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

OriginalGriff

И что же? Что происходит такого, чего вы не ожидаете, или происходит то, чего вы не ожидали?

BillWoodruff

Что такое текст исключения, который появляется в MessageBox, когда он терпит неудачу ?

Member 12479751

использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Text;
использование системы.Окна.Формы;
используя системы.Данных.Поставщики sqlclient;

пространство имен First_Csharp_app
{
общественности частичного класс form1 : форма
{
открытый form1()
{
метод InitializeComponent();
}

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
пробовать
{
if (!(usertxt.Текстовая строка.Пустой))
{
если (!(passtxt.Текстовая строка.Пустой))
{
String str = "сервер=MUNESH-PC;база данных=windowapp;UID=sa;пароль=123";
String query = "select * from data where username = '" + usertxt.Текст + "'и пароль = '" + this.passtxt.Текст + "'";
SqlConnection con = новый SqlConnection(str);
SqlCommand cmd = new SqlCommand(query, con);
Класс sqldatareader ДБР;
против.Открыть();
dbr = cmd.Метода executereader();
int count = 0;
пока (ДБЗ.Читать())
{
count = count + 1;
}
если (count == 1)
{
Ящик для сообщений.Показать("имя пользователя и пароль верны");
}
else if (count > 1)
{
Ящик для сообщений.Показать("дубликат имени пользователя и пароля", "страница входа в систему");
}
еще
{
Ящик для сообщений.Показать(" имя пользователя и пароль неверны", "страница входа в систему");
}
}
еще
{
Ящик для сообщений.Показать(" пароль пуст", "страница входа в систему");
}
}

еще
{
Ящик для сообщений.Показать(" имя пользователя пустое", "страница входа в систему");
}
// против.Закрывать();

}
поймать (исключение-Эс)
{
Ящик для сообщений.Показать(Эс.сообщение);

}
}
}
}

[no name]

Узнайте, как использовать отладчик. Мы здесь не для того, чтобы делать за тебя уроки.

1 Ответов

Рейтинг:
11

Member 12479751

использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Linq;
использование System.Text;
использование системы.Окна.Формы;
использование System.Data.Sql;
использование System.Data.Для oledb;
используя системы.Данных.Поставщики sqlclient;

пространство имен login_form
{
общественности частичного класс form1 : форма
{
SqlConnection con = новый SqlConnection();
открытый form1()
{
SqlConnection con = новый SqlConnection();
против.ConnectionString = "источник данных=KRISHNA-PC\\SQLEXPRESS;начальный каталог=студент;Интегрированная безопасность=True";

метод InitializeComponent();
}

частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{
// TODO: эта строка кода загружает данные в таблицу studentdataset.login. Вы можете переместить или удалить его, если это необходимо.
//this.loginTableAdapter.Заполните(это.sTUDENTDataSet.login);
SqlConnection con = new SqlConnection("источник данных=KRISHNA-PC\\SQLEXPRESS;начальный каталог=студент;Интегрированная безопасность=True");
против.Открыть();

{
}
}

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
SqlConnection con = новый SqlConnection();
против.ConnectionString = "источник данных=KRISHNA-PC\\SQLEXPRESS;начальный каталог=студент;Интегрированная безопасность=True";
против.Открыть();
строка имя пользователя = текстовое поле textbox1.Текст;
строковый пароль = textBox2.Text;
Команда sqlcommand cmd и = новая команда sqlcommand("выберите имя пользователя,пароль от входа, где userId='" + текстовое поле textbox1.Текст + "'и пароль='" + текст Box2.Текст + "'", кон);
SqlDataAdapter da = новый SqlDataAdapter(cmd);
DataTable dt = новый DataTable();
да.Заполнить(ДТ);
если (ДТ.Строк.Count > 0)
{
Ящик для сообщений.Show("Login success Добро пожаловать на главную страницу http://krishnasinghprogramming.nlogspot.com");
Система.Диагностика.Процесс.Начало("http://krishnasinghprogramming.blogspot.com");
}
еще
{
Ящик для сообщений.Показать("неверный логин, пожалуйста, проверьте имя пользователя и пароль");
}
против.Закрывать();
}

частный недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
Приложение.Выход();

}
}
}


Patrice T

Если вы нашли решение, используйте Принять ответ чтобы закрыть вопрос.
Если только неудачный код, удалите решение и используйте Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Patrice T

У вас есть несколько учетных записей CP ?

Richard Deeming

Не знаю, почему это снова появилось в списке "активных", но есть некоторые серьезные проблемы с вашим решением.


Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]


НИКОГДА храните пароли в виде обычного текста:
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]


А требование к пользователям войти в ваше приложение Windows Forms перед запуском вашего веб-сайта будет НЕ обеспечьте любую защиту вашего сайта!