У меня есть форма входа и основная форма, как я делаю кнопку enable = false, когда логин пользователя?
форма form1 LoginForm и формы Form2 есть кнопка Я хочу, чтобы эта кнопка была включена ложная...
Это код в форме входа в систему:-
s = "select Role_id from Users where User_name = '" + txt_UserName.Текст + "' и пароль = '" + txt_Password.Текст + "' и роль = 'пользователь' ";
sdAdapter = новый SqlDataAdapter(s, con);
dt = новый DataTable();
sdAdapter.Заполнение (dt);
если (ДТ.Строк.Количество = = 1)
{
строка s2 = " вставить в LoginAndOutDate(user_name, Login_Date) ";
S2 = s2 + " значения (@user_name, CURRENT_TIMESTAMP) ";
if (con. State == ConnectionState.Закрытый)
против.Открыть();
using (sCommand = new SqlCommand(s2, con))
{
скоманд.Параметры.AddWithValue ("@user_name", txt_UserName. Text);
скоманд.Метод executenonquery();
}
if (con. State == ConnectionState.Открыть)
против.Закрывать();
этот.Скрыть();
FRM_Main frm = new FRM_Main(txt_UserName. Text);
ФРМ.RefToFormLogin = это;
ФРМ.Показать();
txt_Password.Четкий();
Что я уже пробовал:
Как я делаю кнопку enabled = false из другой формы
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]
Richard Deeming
Кроме того, никогда не храните пароли в виде обычного текста. Храните только соленый хэш пароля, используя уникальную соль для каждой записи.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]