powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / аутентификация пользователя
15 сообщений из 15, страница 1 из 1
аутентификация пользователя
    #32621267
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пытаюсь разобраться как это можно сделать.
На данный момент у меня есть родительская форма, на которой два текстбокса для ввода логина и пароля, кнопка ок, на которой висит такой обработчик:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        myuser = TextBox1.Text
        mypassword = TextBox2.Text
        SqlConnection1.ConnectionString = "Server=dev03; userid=myuser; password=mypassword; database= schet"
        If SqlConnection1.State = ConnectionState.Open Then
           fmenu.ShowDialog()
        Else
           MsgBox("Неправильно ввели пароль")
        End If
End Sub
Что и как нужно подкорректировать, чтобы заработало :)
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621270
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да забыла сказать, что аутентификация происходит на уровне SQL Server
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621280
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
должно быть так:
SqlConnection1.ConnectionString = "Server=dev03; userid=" & myuser & "; password=" & mypassword & "; database= schet"
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621287
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только & надо заменить на + :-)
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621291
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы строку составить, надо использовать конкатенацию:
Код: plaintext
1.
SqlConnection1.ConnectionString = "Server=dev03; userid=" & myuser & ";password=" & mypassword & "; database= schet"
А в остальном не понял логику, при чем здесь:

if SqlConnection1.State = ConnectionState.Open
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621560
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логика в том, что, если пользователь ввел правильно все, тогда открывается форма с меню, а если неправильно, то выдается сообщение об ошибки
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621568
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 irinka
Уважаемая, присвоение строки объекту SqlConnection1 не означает, что коннект у вас открывается:)
Поэтому Ваша проверка всегда будет MsgBox("Неправильно ввели пароль").
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32621708
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо
а если написать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim myserver As String = "dev03"
Dim myuser As String
Dim mypassword As String
Dim SqlConnection1 As New System.Data.SqlClient.SqlConnection() 
        myuser = TextBox1.Text
        mypassword = TextBox2.Text
        SqlConnection1.ConnectionString = "Server=" & myserver & "; user id=" & myuser & "; password=" & mypassword & "; database= schet"
        SqlConnection1.Open()
        If SqlConnection1.State = ConnectionState.Open Then
        fmenu.ShowDialog()
        Else
            MsgBox("hhhh")
        End If
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32622005
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторлогика в том, что, если пользователь ввел правильно все, тогда открывается форма с меню, а если неправильно, то выдается сообщение об ошибки

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim myuser As String = TextBox1.Text
Dim mypassword As String = TextBox2.Text
Try
  If myuser <> "" And mypassword <> "" Then
        SqlConnection1.ConnectionString = "Server=dev03; user id=" & myuser & "; password=" & mypassword & "; database= schet"
        SqlConnection1.Open()
        SqlConnection1.Close()
        fmenu.ShowDialog()
  Else
       MsgBox ("Enter UserName or Password")
  End If
Catch ex As Exception
        MsgBox ("Ups..." & vbCrLf & "Incorrect Password or UserName")
End Try        
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32622331
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 irinka
Вариант vladgrig по симпатичнее будет :-)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32622539
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласна... :)
Я не волшебник, я только учусь, да простят меня профи :)
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32622681
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, что, РАБОТАЕТ???
Я из головы написал, и даже не попробовал
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32622720
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, что, РАБОТАЕТ???
Я из головы написал, и даже не попробовал


Главное идея, а остальное можно и докрутить.
Например, в try catch надо включить только открытие соединения, в finally его закрытие. И в catch не быть столь однозначным по неверности ввода пользователя или пароля. Т.к могут быть и другие причины исключения.
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32622856
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНапример, в try catch надо включить только открытие соединения, в finally его закрытие.
Я думал над этим, но, не будет проблем, если соединение не откроется, а мы будем пытаться его закрыть???
А в catch я читал, можно вообще, делать исключения на определённые ошибки, например на один Error одно исключение на другой Error другое и т.д.
Try
...
Catch
...
Catch
.....
End Try
...
Рейтинг: 0 / 0
аутентификация пользователя
    #32623230
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig
но, не будет проблем, если соединение не откроется, а мы будем пытаться его закрыть???

Нет проблем не будет

Скорее всего здесь будут только SqlException

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / аутентификация пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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