diablo22 Ответов: 1

Vb.net храните значение администратора в настройках проекта


Всем привет,
Может ли кто-нибудь сказать мне, как сохранить правильное значение администратора в настройках проекта, когда администратор входит в программу, чтобы сохранить свою запись в проекте до тех пор, пока он не выйдет из системы или не выйдет из программы.
Важно потерять запись обратно в 0 при выходе из программы или выходе из системы, потому что больше людей будут использовать один и тот же компьютер.

Вот мой код для входа в систему:
Public Sub Loggin()
        If Login.txtUsername.Text = "" Or Login.txtPassword.Text = "" Then
            MsgBox("Please enter Username and Password!")
            Login.txtUsername.Focus()
        Else
            Try
                With cmd
                    conn.Open()
                    .Connection = conn
                    .CommandText = "Select * From Accounts WHERE Accname = @GetLogin and Accpass = @GetPass"
                    .Parameters.AddWithValue("@GetLogin", Login.txtUsername.Text)
                    If Encr >= 1 Then
                        .Parameters.AddWithValue("@GetPass", Encrypt.EncryptPassword(Login.txtPassword.Text))
                    ElseIf Encr = 0 Then
                        .Parameters.AddWithValue("@GetPass", Login.txtPassword.Text)
                    End If

                    'Starting The Query
                    Adapter.SelectCommand = cmd
                    Reader = cmd.ExecuteReader
                    .Parameters.Clear()
                    'Validate User
                    If Reader.HasRows = 0 Then
                        'Login.ProgressBar1.Value = 0
                        Login.txtUsername.Text = ""
                        Login.txtPassword.Text = ""
                        Login.txtUsername.Focus()
                        Return
                    Else
                        Dim authorityid = 0
                        While Reader.Read()
                            authorityid = Reader.Item("Admin")
                        End While
                        If authorityid = 1 Then
                            'Login Admin User
                            'AdminMenu.Show()
                            Login.Close()
                        ElseIf authorityid = 0 Then
                            'Login Normal User
                            MainCP.Show()
                            Login.Close()
                        ElseIf authorityid > 1 Then
                            MessageBox.Show("Error in Database User Information", "Visual WMS", MessageBoxButtons.OK, MessageBoxIcon.Warning)
return
                        Else
                            'Login.ProgressBar1.Value = 0
                            Login.txtUsername.Text = ""
                            Login.txtPassword.Text = ""
                            Login.txtUsername.Focus()

                        End If
                    End If
                End With
            Catch ex As Exception
                MsgBox(ex.Message)
                'MsgBox("Please check your Settings.ini File")
            Finally
                Reader.Close()
                Adapter.Dispose()
                cmd.Dispose()
                If conn IsNot Nothing Then
                    conn.Close()
                End If
            End Try
        End If
    End Sub


Что я уже пробовал:

в проектах:
- Настройки> isAdmin boolen user false

If authorityid = 1 Then
                            'Login Admin User
                            'AdminMenu.Show()
                            My.Settings.isAdmin = 1
                            Login.Close()

Richard Deeming

Кроме того, если вы хотите забыть значение при выходе из программы, зачем вы вообще сохраняете его в настройках? Настройки предназначены для хранения значений, которые необходимо запоминать между исполнениями вашей программы.

diablo22

потому что я хочу сохранить его в программе, потому что когда администратор войдет в систему, у него будет материал, который он может видеть только в программе, другие его не увидят :)

Richard Deeming

Есть и другие варианты хранения вещей в памяти во время работы вашей программы, которые не будут сохранены при выходе из программы.

Например, Shared переменные.

1 Ответов

Рейтинг:
1

diablo22

My.Settings.isAdmin = True


также я буду просто использовать при выходе из приложения:

Мои Настройки.Сброс()
Приложение.Выход()

кажется, что он работает нормально с несколькими тестами, никаких записей или ошибок не находит.