Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51

Организовать авторизацию в программе, использующей БД

27.02.2012, 15:12. Показов 2761. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ..мне нужно в программе сделать админку...ну с доступом сам разберусь - это легко...
у меня в базе в таблице users хранятся логины и пароли некоторых юзеров. при в ходе в программу, открывается форма авторизации пользователя. и пользователь должен ввести свой логин в первое текстовое поле, а пароль во второе и нажать на кнопку войти. логин и пароль должен проверяться с базой. если логин одного человека верный, а пароль нет, то вывести соответствующее сообщение, что пароль не верный. если не правильно введено логин юзера, то выдать ошибку: "юзер не зарегистрирован".
то есть надо сделать как то привязку полей и проверку...
может кто нибудь на подобе что то писал..или в инете кто нашел, кинте пожалуйста. буду рад любой помощи или код кинте...плиз..помогите!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2012, 15:12
Ответы с готовыми решениями:

Как организовать авторизацию в программе
Дамы и Господа предлагаю обсудить одну маленькую но очень важную деталь. Это запароленый вход в приложение. Темы: Как это сделать ...

Ошибка в программе, использующей DirectX
Здравствуйте! В чем ошибка? #include <windows.h> #include <stdlib.h> #include <string.h> #include <tchar.h> #include...

Как избавить от зависаний в программе, использующей BackgroundWorker?
есть программа который создает сокет и начинает слушать определенный порт 127.0.0.1:9988 программа реапизован на WPF (C#). Проблема в том...

23
 Аватар для Runkin
69 / 67 / 5
Регистрация: 22.12.2011
Сообщений: 261
Записей в блоге: 2
27.02.2012, 15:59
выбери подключение к бд с которым будешь работать
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
27.02.2012, 17:10  [ТС]
ну это понятно таблицы и база подключены уже к форме...это начальные вопросы...
а вот дальше, я - хз...
0
 Аватар для Runkin
69 / 67 / 5
Регистрация: 22.12.2011
Сообщений: 261
Записей в блоге: 2
27.02.2012, 20:50
мм ну например так:
Visual Basic
1
2
3
4
5
rs.FindLast "NameField = '" & name.text & "'"
if rs.fields("password") = password.text then
else
 
end if
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
28.02.2012, 10:20  [ТС]
а можешь код пояснить?...что где?.

Добавлено через 42 минуты
у меня нет свойства FindLast.
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
28.02.2012, 20:42
Цитата Сообщение от Lander Посмотреть сообщение
у меня нет свойства FindLast
rs - это Recordset, имеется в библиотеках DAO, ADO, RDO, ...
Подключай одну из них и пользуйся.
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
29.02.2012, 09:20  [ТС]
Цитата Сообщение от coderxx Посмотреть сообщение
rs - это Recordset, имеется в библиотеках DAO, ADO, RDO, ...
Подключай одну из них и пользуйся.
все подключено все равно ругается на FindLast....
0
 Аватар для Runkin
69 / 67 / 5
Регистрация: 22.12.2011
Сообщений: 261
Записей в блоге: 2
29.02.2012, 09:41
значит ты не объявил переменные
базу, рекордсет, скуэль
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
29.02.2012, 09:46  [ТС]
да все у меня объявлено и подключено.. как говориться я не первый день работаю с базами...но все равно такого свойства нет...есть только свойства .Fields и .Find..
0
 Аватар для Runkin
69 / 67 / 5
Регистрация: 22.12.2011
Сообщений: 261
Записей в блоге: 2
29.02.2012, 09:52
пробуй использовать find, или ещё как вариант можно всю базу прокручивать пока совпадения не будет
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
29.02.2012, 09:59  [ТС]
Цитата Сообщение от Runkin Посмотреть сообщение
пробуй использовать find, или ещё как вариант можно всю базу прокручивать пока совпадения не будет
а пример кода можно!?...
0
Заблокирован
29.02.2012, 10:28
Цитата Сообщение от Lander Посмотреть сообщение
у меня нет свойства FindLast.
Как это нету?

Пример тоже из справочника:
Visual Basic
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Sub FindFirstX()
 
    Dim dbsNorthwind As Database
    Dim rstCustomers As Recordset
    Dim strCountry As String
    Dim varBookmark As Variant
    Dim strMessage As String
    Dim intCommand As Integer
 
    Set dbsNorthwind = OpenDatabase("Áîðåé.mdb")
    Set rstCustomers = dbsNorthwind.OpenRecordset( _
        "SELECT Íàçâàíèå, Ãîðîä, Ñòðàíà " & _
        "FROM Êëèåíòû ORDER BY Íàçâàíèå", _
        dbOpenSnapshot)
 
    Do While True
        ' Ïðèíèìàåò äàííûå îò ïîëüçîâàòåëÿ è ñîáèðàåò ñòðîêó ïîèñêà.
 
strCountry = _
            Trim(InputBox("Ââåäèòå íàçâàíèå ñòðàíû."))
        If strCountry = "" Then Exit Do
        strCountry = "Ñòðàíà = '" & strCountry & "'"
 
        With rstCustomers
            ' Çàïîëíÿåò íàáîð çàïèñåé.
            .MoveLast
            ' Íàõîäèò ïåðâóþ çàïèñü, óäîâëåòâîðÿþùóþ ñòðîêå ïîèñêà. 
            ' Âûõîäèò èç öèêëà, åñëè òàêîé ñòðîêè íåò.
            .FindFirst strCountry
            If .NoMatch Then
                MsgBox "Íå íàéäåíû çàïèñè äëÿ " & _
                    strCountry & "."
 
Exit Do
            End If
 
            Do While True
                ' Ñîõðàíÿåò çàêëàäêó òåêóùåé çàïèñè.
                varBookmark = .Bookmark
                ' Ïðèíèìàåò ñïîñîá ïîèñêà, âûáðàííûé ïîëüçîâàòåëåì.
                strMessage = "Êîìïàíèÿ: " & !Íàçâàíèå & _
                    vbCr & "Ìåñòî: " & !Ãîðîä & ", " & _
                    !Ñòðàíà & vbCr & vbCr & _
                    strCountry & vbCr & vbCr & _
                    "[1 - FindFirst, 2 - FindLast, " & _
                    vbCr & "3 - FindNext, " & _
                    "4 - FindPrevious]"
 
intCommand = Val(Left(InputBox(strMessage), 1))
                If intCommand < 1 Or intCommand > 4 Then Exit Do
 
                ' Ïðèìåíÿåò âûáðàííûé ìåòîä Find. Ïðè íåóäà÷íîì 
                ' ïîèñêå âîçâðàùàåò ïîñëåäíþþ òåêóùóþ çàïèñü.
                If FindAny(intCommand, rstCustomers, _
                        strCountry) = False Then
                    .Bookmark = varBookmark
                    MsgBox "Çàïèñü íå íàéäåíà Âîçâðàò " & _
                        "íà òåêóùóþ çàïèñü."
                End If
 
            Loop
 
        End With
 
Exit Do
    Loop
 
    rstCustomers.Close
    dbsNorthwind.Close
 
End Sub
 
Function FindAny(intChoice As Integer, _
    rstTemp As Recordset, _
    strFind As String) As Boolean
 
    ' Èñïîëüçóåò ñïîñîá ïîèñêà, âûáðàííûé ïîëüçîâàòåëåì.
    Select Case intChoice
        Case 1
            rstTemp.FindFirst strFind
        Case 2
            rstTemp.FindLast strFind
        Case 3
            rstTemp.FindNext strFind
        Case 4
            rstTemp.FindPrevious strFind
 
End Select
 
    ' Çàäàåò âîçâðàùàåìîå çíà÷åíèå ïî çíà÷åíèþ ñâîéñòâà NoMatch.
    FindAny = IIf(rstTemp.NoMatch, False, True)
 
End Function
1
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
29.02.2012, 14:22  [ТС]
значит так:
у меня в базе таблица users, в ней 2 поля: Login и passowrd.
база Access, называется 1.mdb.
на форме 2 текстовых поля, и одна кнопка.логин и пароль вводятся вручную.
text1.text - логин
text2.text - пароль
Command1 - вход.
нужно по логину проверить такой ли у этого пользователя пароль..., если да, то выдаем соответствующие сообщение, если нет, то нет!.
help me!!! народ, я не доганяю!!!...кинте код!

Добавлено через 12 минут
база подключена:
модуль:
Visual Basic
1
2
3
4
5
Public R_users As ADODB.Recordset
Set cnn = New ADODB.Connection 
 str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;"
 cnn.ConnectionString = str
 cnn.Open
форма:
Visual Basic
1
2
3
4
5
6
7
8
module1.podkl
Set R_users = New ADODB.Recordset
R_users.CursorType = adOpenKeyset
R_users.LockType = adLockOptimistic
R_users.CursorLocation = adUseClient
R_users.ActiveConnection = cnn
R_users.Source = "Select * From users"
R_users.Open
0
Заблокирован
29.02.2012, 14:46
Я делаю чуть по-другому(только что создал новый проект и протесстировал - работает):
В Project->References добавил "Microsoft DAO 3.51 Object Library"
Кинул на форму два текстовых поля и кнопку

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private db As Database
Private rs As Recordset
 
Private Sub Form_Load()
    Set db = OpenDatabase(App.Path + "\1.mdb", False, False, ";pwd=" + MyPassword)
    ' MyPassword - пароль на 1.mdb
End Sub
 
Private Sub Command1_Click()
    Set rs = db.OpenRecordset("select * from users", dbOpenDynaset)
    rs.FindFirst "Name=""" + Text1.Text + """"
    If Text2.Text = rs.Fields("Password") Then
        MsgBox "Åñòü"
    Else
        MsgBox "Íåòó"
    End If
    rs.Close
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    db.Close
End Sub
Единственное, что свой MyPassword записал в модуле, чтоб случайно не засветить
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
29.02.2012, 14:59  [ТС]
сделал все как ты сказал, все равно ругается вот на это!нет свойства!
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
rs.FindFirst
0
Заблокирован
29.02.2012, 15:25
Какие IDE и OS?
Для MS VB6 и Windows все должно работать.
И непонятно куда все подевалось.
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
29.02.2012, 15:39  [ТС]
ос - Win xp
у меня sata

Добавлено через 2 минуты
может ты кинешь мне прогу которую написал, как выразился только что!?...
я посмотрю?
lander_otr@mail.ru или на обменник куда-нить?
0
 Аватар для Runkin
69 / 67 / 5
Регистрация: 22.12.2011
Сообщений: 261
Записей в блоге: 2
29.02.2012, 22:27
ты сюда выложи свою, где всё сделано как тебе тут написали но не работает, а мы будем тапками кидать уже
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
29.02.2012, 22:51
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
Какие IDE
Цитата Сообщение от Lander Посмотреть сообщение
у меня sata
-----

Интегрированная среда разработки (англ. Integrated Development Environment) — система программных средств, используемая программистами для разработки программного обеспечения
IDE (англ. Integrated Drive Electronics) — параллельный интерфейс подключения накопителей (жёстких дисков и оптических приводов) к компьютеру
0
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51
01.03.2012, 09:32  [ТС]
вот сделал так как мне писали...просто создал новый проект и впихнул туда код, предоставленный мне здесь! вот что получилось:
- появилось свойства rs.FindLast. в моем проекте его не было. хотя было все подключено, как сказано. может из за того что я использую другое подключения к базе?.
в новом проекте ругается на подключения базы. в общем смотрите:
админка.rar
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2012, 09:32
Помогаю со студенческими работами здесь

Вставка Cookie в программе, использующей библиотеку Viking
Исполльзую библиотеку viking. Нужно вставить cookie. Побывал CookieCollection cc; не работает.

Как лучше организовать авторизацию?
Доброго времени суток. Есть приложение работающее с базой данных. Теперь необходимо прикрутить к нему авторизация при входе. Как это...

Как правильно организовать авторизацию к MS SQL
День добрый. Прошу помочь советом /ссылкой /статьей / примером. Вопрос заключается в след. Необходимо написать приложение...

Работа с MySQL, как организовать авторизацию?
Здравствуйте! Подскажите, как можно организовать работу с MySQL? Например авторизация, в бд 2 поля Login и Password, нужно чтобы при...

Нужно организовать авторизацию силами ASP
Нужно организовать авторизацию силами ASP, но чтобы юзеры были SQL ные, и в соответсттвии с именем раздавать права на чтение/запись полей...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru