Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Делая курсовой проект... проверкой пароля и логина из базы 
V
    Опции темы
ПапаМишка
  Дата 9.6.2008, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 30.10.2005
Где: Саратов

Репутация: нет
Всего: нет



Доброго времени суток.

Вот делаю курсовой проект, и вчера весь день убил на одну проблему - как проверить пароль-логин.

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

беда в том что не знаю как получить доступ к конкретной ячейке базы и сравнить, подскажите пожалуйста, что делать?

а то надо в отпуск ехать уже, а курсовик в зачаточном состоянии
PM ICQ   Вверх
vretsky
Дата 9.6.2008, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



че, куда получить? напишите подробнее

если получить кол-во записей где логин== тому что ввел пользователь и пароль== тому что ввел пользователь

Код

            int rowCount=0;
            try
            {
                SqlCommand command = new SqlCommand("SELECT ISNULL(COUNT(*),0) FROM TABLE1 WHERE PASS='"+ПАРОЛЬ+ "' AND LOG='"+ЛОГИН+"'", this.sqlConnection1);
                command.CommandType = CommandType.Text;
                this.sqlConnection1.Open();
                maxDoc = (int)(command.ExecuteScalar());
                this.sqlConnection1.Close();
                
            }
            catch (Exception ex)
            {

                this.sqlConnection1.Close();
                MessageBox.Show(ex.Message.ToString(), "ошибка подключения к БД!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
           if (rowCount==0) MessageBox.Show("Неправильное имя пользователя или пароль!");
           else
           {
           //.................
           }
            



(если СУБД-SQL сервер) 


PM MAIL   Вверх
Iganga
Дата 9.6.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Доброго времени суток. 

Можно сделать лучше, на мой взгляд. А именно, на сервере написать хранимую процедуру проверки логина и пароля.
На форме взять параметры, с исходными данными из текстбоксов. Так работать будет быстрее.

Код

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE CompareLogPassw
@Login        nvarchar(20),
@Password nvarchar(35),

AS

SET NOCOUNT ON

SELECT Login,password  FROM TableName

if(Login=@Login and Password=@Password)

return 1

else

return 0



Если что не так, простите. Не компилил
PM MAIL ICQ   Вверх
vretsky
Дата 10.6.2008, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



Цитата

Можно сделать лучше, на мой взгляд. А именно, на сервере написать хранимую процедуру проверки логина и пароля.
На форме взять параметры, с исходными данными из текстбоксов. Так работать будет быстрее.

согластный... могу предложить есче с десяток методов решения smile 
только человеку не только написать но и защитить курсак надо, потом не указана СУБД
PM MAIL   Вверх
Magnifico
Дата 10.6.2008, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 2
Всего: 17



Код

if exists(select * from TableName  where login =@login and pass= @password)
return 1
else
 return 0



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
jonie
Дата 10.6.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



чет я не особ понял сути такой проверки... я плане зачем ? дешевле всего администрировать саму базу. т.е. пароль есть пароль на базу. из плюсов готовая админка+защита какая-никакая....

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

кстати, в свое время я делал сервер авторизациии на сях. суть его была такая :
сервак(c++)---HTTPS+SOAP---com_client(c++)--com_interop---клиент(c#)

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

Это сообщение отредактировал(а) jonie - 10.6.2008, 22:48


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ПапаМишка
Дата 11.6.2008, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 30.10.2005
Где: Саратов

Репутация: нет
Всего: нет



всем спасибо, задачу решил - в dataSet tableAdapter прописал ещё один Getме тод и всё заработало

сейчас бьюсь над другими проблемами  smile 

Это сообщение отредактировал(а) ПапаМишка - 11.6.2008, 09:49
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.