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

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

27.02.2012, 15:12. Показов 2663. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru