powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Авторизация пользователей
8 сообщений из 8, страница 1 из 1
Авторизация пользователей
    #38254088
bondo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане.
Прошу у вас помощи.

Хочу организовать процедуру проверки логина и пароля пользователя с приложения VB.
Логины и пароли хранятся в таблице MYSQL на сайте, в двух столбцах login и pass.
На форме авторизации имеется 2 TextBox'a, для ввода логина и пароля и Button, на которых и будет вешаться процедура входа.

Что необходимо:
Написать на кнопку код, который будет считывать введенный логин и пароль с TextBox'ов и искать пару логин + пароль в таблице, и, соответственно, либо пускать пользователя в систему, либо нет.

Заранее, благодарю.
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254112
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно непонятно? Как подключиться к базе? Как написать запрос? Как положить кнопку на форму? или надо все сделать полностью?
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254355
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
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.
Private Sub CommandButton1_Click()
On Error GoTo errline
Dim lgn As String, pwd As String, level As String
    lgn = Trim(ComboBox1.Text)
    pwd = Trim(TextBox1.Text)
    If inlist("", lgn, pwd) Then
        MsgBox "Заполните поля", vbInformation, "Сообщение"
        Exit Sub
    End If
    
    sqltxt = "select * from logins where login=" & quote(lgn) & " and password=" & quote(pwd)
    СоздатьНаборЗаписей cns, sqltxt
    ПроверитьНаПустоту cn, rs
    
    If pusto Then
        MsgBox "Неверный логин или пароль", vbInformation, "Сообщение"
        Exit Sub
    End If
    
    level = Trim(rs.Fields("group").Value)
    УничтожитьНаборЗаписей cn, rs
    Select Case level
    Case "Админ"
        Unload Me
        With MenuAdmin
            .Show 0
        End With
    Case "Оператор"
        Unload Me
        With MenuOper
            .Show 0
        End With
    Case "Директор"
        Unload Me
        With MenuDir
            .Show 0
        End With
    Case "Менеджер"
        Unload Me
        With MenuMng
            .Show 0
        End With
    End Select
Exit Sub
errline:
ОбработатьОшибкуЗапроса cn, rs
End Sub
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254367
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это в стандартном модуле:
Код: vbnet
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.
Public Sub СоздатьНаборЗаписей(ByVal CnStr As String, ByVal querytext As String)
Set cn = CreateObject("ADODB.Connection")
cn.Mode = adModeReadWrite
cn.Open CnStr
Set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenStatic
rs.LockType = adLockBatchOptimistic
Set rs = cn.Execute(querytext)
End Sub
Public Sub ПроверитьНаПустоту(ByVal cntn As Connection, ByVal rst As Recordset)
If rst.BOF = True And rst.EOF = True Then
    rst.Close
    Set rst = Nothing
    cntn.Close
    Set cntn = Nothing
    pusto = True
Else
    pusto = False
End If
End Sub
Public Sub УничтожитьНаборЗаписей(ByVal cntn As Connection, ByVal rst As Recordset)
rst.Close
Set rst = Nothing
cntn.Close
Set cntn = Nothing
End Sub
Public Sub ОбработатьОшибкуЗапроса(ByVal cntn As Connection, ByVal rst As Recordset)
If Not rst Is Nothing Then
    If rst.State = adStateOpen Then
        rst.Close
    End If
Set rst = Nothing
End If
errmsg = ""
If Not cntn Is Nothing Then
    For Each adoerr In cntn.Errors
        errmsg = errmsg & vbCr & "Номер ошибки: " & CStr(adoerr.Number)
        errmsg = errmsg & vbCr & "Описание ошибки: " & adoerr.Description
    Next
    cntn.Errors.Clear
    If cntn.State = adStateOpen Then
        cntn.Close
    End If
    Set cntn = Nothing
End If
If errmsg = "" Then
    errmsg = errmsg & vbCr & "Номер ошибки: " & CStr(Err.Number)
    errmsg = errmsg & vbCr & "Описание ошибки: " & Err.Description
End If
MsgBox errmsg
End Sub


И все это в VBA
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254395
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок, а проблема-то в чем заключается?...

ЗЫ: впрочем, одну проблему я сходу заметил, решение тут
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254405
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял так, что человеку нужен код, который он быстро переделает для себя.
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254424
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, сорри, не заметил, что ответ был не от автора топика. тем не менее, некоторые переменные (или константы) не объявлены, в частности cns
...
Рейтинг: 0 / 0
Авторизация пользователей
    #38254878
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cns (строка соединения) объявлена как глобальная переменная типа String и ее значение считывается из файла конфигурации при запуске программы.
Я вырезАл код, контекст не виден.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Авторизация пользователей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]