Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/92: Рейтинг темы: голосов - 92, средняя оценка - 4.92
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112

Сравнить значение в TextBox со значением ячейки БД SQL (авторизация)

30.05.2012, 14:08. Показов 17356. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте, только начал учить SQL, поэтому много не знаю. У меня есть WinForm с окошками афотризации ввода логина и пароля, также у меня есть база SQL с двумя табицами в одной логины в другой пароли, мне нужно проверять вначале на совпдаение логина, а затем по ключу(id) проверять есть ли под таким ключом в другой талице подходящий пароль.
Вот кусок кода в которм осуществляесть проверка:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public bool ReadMyData()
        {
            string myConnectionString = "Database=Users;Server=MyServer
            string mySelectQuery = "SELECT log FROM login";
            SqlConnection myConnection = new SqlConnection(myConnectionString);
            SqlCommand myCommand = new SqlCommand(mySelectQuery, myConnection);
            myConnection.Open();
            SqlDataReader myReader = myCommand.ExecuteReader();
            bool b = false;
            try
            {
                while (myReader.Read())
                {
                    string str = myReader.GetValue(0).ToString();
                    (Login.Text == str)
                    {
                        MessageBox.Show(str);
                        b = true;
                        break;
                    }
                    
                }
            }
            finally
            {
                myReader.Close();
                myConnection.Close();
            }
            return b;
        }
Проблема заключается вот в чем: при проверке Login.Text не равно str, хотя должно. Помогите пожалуйста!
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2012, 14:08
Ответы с готовыми решениями:

Сравнить значение ячейки DataGridView со значением в TextBox
Доброе время суток. Подскажите пожалуйста как мне сделать. У меня есть значения в textdox и мне нужно проверить, если это значения...

Как сравнить значение переменной со значением из textBox?
Я мог бы и в переменную записать значение textBox, но это как-то некрасиво будет :) if (discr != textBox10.Text) { ...

Как сравнить значение со значением в файле?
Как сравнить значение со значением в файле? Например: сохранил в файле значения 1234 и abcd, затем ввожу с консоли число 1234. Теперь мне...

14
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 14:18
так лучше смотреть.)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public bool ReadMyData()
        {
            string myConnectionString = "Database=Users;Server=MyServer";
            string mySelectQuery = "SELECT log FROM login";
            SqlConnection myConnection = new SqlConnection(myConnectionString);
            SqlCommand myCommand = new SqlCommand(mySelectQuery, myConnection);
            myConnection.Open();
            SqlDataReader myReader = myCommand.ExecuteReader();
            bool b = false;
            try
            {
                while (myReader.Read())
                {
                    string str = myReader.GetValue(0).ToString();
                    (Login.Text == str)
                    {
                        MessageBox.Show(str);
                        b = true;
                        break;
                    }
                    
                }
            }
            finally
            {
                myReader.Close();
                myConnection.Close();
            }
            return b;
        }
Добавлено через 6 минут
вот так думаю надо.)
C#
1
string str = myReader[0].ToString();
0
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 14:20  [ТС]
К сожелению не помогло
0
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 14:22
чему равен Login.Text и str при проверке? Поставьте брейкпоинт.
0
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 14:24  [ТС]
Смотрите я для проверки Login.Text и str вывожу в MessageBox. И они одинаковы!!! вот в этом и вся загвоздка
0
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 14:27
а сколько у вас записей в таблице login?
0
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 14:31  [ТС]
одна igor
0
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 14:35
вообще можно такой запрос сделать в базу для проверки

string mySelectQuery = "SELECT log FROM login WHERE log ='" + Login.Text + "'";

и тогда если при получении ответа получено 0 строк, то можно сказать что такого логина в бд нет.

Добавлено через 3 минуты
Цитата Сообщение от IgorDaiko Посмотреть сообщение
Смотрите я для проверки Login.Text и str вывожу в MessageBox. И они одинаковы!!! вот в этом и вся загвоздка
а почему они должны быть не одинаковы?
что вводится в Login.Text вводится отличное от igor?

MessageBox.Show(str); у вас выводится только в случае равенства str == Login.Text
0
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 14:48  [ТС]
толку никако-го ((((
хотя:
C#
1
2
MessageBox.Show(myReader[0].ToString());
MessageBox.Show(Login.Text);
одинаковы!!!

Добавлено через 6 минут
Цитата Сообщение от qfisher Посмотреть сообщение

а почему они должны быть не одинаковы?
что вводится в Login.Text вводится отличное от igor?

MessageBox.Show(str); у вас выводится только в случае равенства str == Login.Text
оно до того MessageBox не доходит.У меня стоит еще один MessageBox перед проверкой if
0
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 15:02
Бррр, не понял, они одинаковы когда вы в форму вводите не igor?

Добавлено через 1 минуту
Цитата Сообщение от qfisher Посмотреть сообщение
string mySelectQuery = "SELECT log FROM login WHERE log ='" + Login.Text + "'";
вот этот вариант более оптимален, не нужно в цикле перебирать
0
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 15:04  [ТС]
А как дальше организовать проверку?
0
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 15:15
C#
1
2
3
4
5
6
7
8
9
10
11
SqlCommand cmd = new SqlCommand(procedure, connection);
object obj = cmd.ExecuteScalar();
 
if (DBNull.Value.Equals(obj))
{
    //такого логина в бд нет
}
else
{
   // такой логин есть в базе
}
1
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 15:21  [ТС]
Спсибо получилось)))
Ну а как теперь проверить id этого логина и сопоставить его с id в таблице паролей
0
33 / 33 / 3
Регистрация: 24.05.2012
Сообщений: 156
30.05.2012, 15:29
Цитата Сообщение от IgorDaiko Посмотреть сообщение
Ну а как теперь проверить id этого логина и сопоставить его с id в таблице паролей
меняет строку запроса

C#
1
string mySelectQuery = "SELECT log FROM login WHERE log ='" + Login.Text + "' and pass='" + Pass.Text + "'";
pass - это колонка в таблице login(замени на другую есть по другому наз-ся)
Pass.Text - пароль вбиваемый из формы

p.s. если только у тебя в бд пароли в открытом виде хранятся, а не зашифрованы
0
2 / 2 / 2
Регистрация: 02.01.2012
Сообщений: 112
30.05.2012, 18:45  [ТС]
Ну а как их можно зашифровать?

Добавлено через 34 минуты
Цитата Сообщение от qfisher Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
SqlCommand cmd = new SqlCommand(procedure, connection);
object obj = cmd.ExecuteScalar();
 
if (DBNull.Value.Equals(obj))
{
    //такого логина в бд нет
}
else
{
   // такой логин есть в базе
}
И оно даже когда я ввожу неправильно заходит в блок else
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2012, 18:45
Помогаю со студенческими работами здесь

Вычислить значение выражения и сравнить с ожидаемым значением
В этой задачи надо проверить правильность формулы Это main.cpp #include "Equation.h" #include <iostream> ...

Как сравнить значение введенное в консоли со значением в файле?
как сравнить значение введенное в консоли со значением в файле, к примеру с консоли вводится какое то слово или число, после чего идет...

Перейти по заданной ссылке, и сравнить значение с сайта со значением переменной
Доброе время суток, мне нужно что бы программа переходила по заданой ссылке и сравнивала значение перемнной заданое мной и значение...

Как сравнить Textbox с значениями в базе данных sql
Поместил на форму компонент Edit и назвал его Login Есть sql база данных LP в которой есть два столбца(Login,Password) мне нужно узнать...

Сравнить значение из массива со значением введенным с клавиатуры и вывести совпавшие символы
Всем добрый вечер! Начал изучение Java около недели назад. Пытаюсь решить данную задачу: "Создать массив из слов String При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru