Member 12809194 Ответов: 1

Чувствительный к регистру VB 2012 с использованием msaccess


он работает нормально,но не чувствителен к регистру. пожалуйста, помогите
моя база данных выглядит так [^]

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

Imports System.Data.OleDb
Public Class loginmain
    Private conn As OleDbConnection
    Private dapt As OleDbDataAdapter

    Private Sub MyConnection()
        conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Data.accdb")
        conn.Open()


    End Sub
    Private Sub loginmain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Watermark1.Focus()
        Panel5.Hide()
        Panel13.Hide()
        Label7.Hide()
        Label8.Hide()

        Timer1.Enabled = False
        Panel8.Hide()
        MyConnection()

    End Sub
    'form close
    Private Sub MyForm_Closing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If MessageBox.Show(" Are you sure you want to quit?", " ", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) <> DialogResult.Yes Then
            e.Cancel = True
        End If
    End Sub
    'PREVENT FLICKERING
    Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle Or 33554432
            Return cp
        End Get
    End Property
    Private Sub PreVentFlicker()
        With Me
            .SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
            .SetStyle(ControlStyles.UserPaint, True)
            .SetStyle(ControlStyles.AllPaintingInWmPaint, True)
            .UpdateStyles()
        End With

    End Sub

    Private Sub BunifuTileButton1_Click(sender As Object, e As EventArgs) Handles loginbutton.Click
        Dim pass1 As String
        Dim tbl As New DataTable
        MyConnection()
        dapt = New OleDbDataAdapter("Select * from UserAccount Where Username='" & Watermark1.Text & "'and Password='" & Watermark2.Text & "' ", conn)
        dapt.Fill(tbl)

        pass1 = Watermark2.Text
        If tbl.Rows.Count > 0 Then
            Timer1.Enabled = True
            Panel13.Show()
            Label7.Show()
            Label8.Show()

        Else

            My.Computer.Audio.PlaySystemSound(
                System.Media.SystemSounds.Exclamation)



            Panel5.Show()
            PictureBox2.Image = Payroll.My.Resources.Login_01error
            PictureBox3.Image = Payroll.My.Resources.User_Profileerror
           
            Watermark1.Focus()
            Watermark2.Clear()



        End If

    End Sub

   

    Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles PictureBox4.Click

    End Sub

    Private Sub Watermark1_TextChanged(sender As Object, e As EventArgs) Handles Watermark1.TextChanged
        Panel5.Hide()

        PictureBox3.Image = Payroll.My.Resources.User_Profile1

    End Sub

    Private Sub Watermark2_TextChanged(sender As Object, e As EventArgs) Handles Watermark2.TextChanged
        Panel5.Hide()
        PictureBox2.Image = Payroll.My.Resources.password
    End Sub

    Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

        ResetForm.ShowDialog()

    End Sub

    Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
        ResetForm.ShowDialog()
    End Sub

    Private Sub LinkLabel3_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked
        Panel8.Show()
        Panel11.Hide()

    End Sub

    Private Sub BunifuTileButton1_Click_1(sender As Object, e As EventArgs) Handles RegBtn.Click

    End Sub

    Private Sub BunifuImageButton1_Click(sender As Object, e As EventArgs) Handles BunifuImageButton1.Click
        Me.Close()
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

        loading.Value = loading.Value + 1
        Label6.Text = loading.Value & "%"
        Label8.Text = loading.Value & "%"
        If (loading.Value = loading.MaximumValue) Then
            System.Threading.Thread.Sleep(3000)

            Timer1.Enabled = False
            Me.Hide()
            MainForm.Show()
        End If
    End Sub

    Private Sub Panel4_Paint(sender As Object, e As PaintEventArgs) Handles Panel4.Paint

    End Sub
End Class

Mehdi Gholam

Почему вы используете StrComp ?

Member 12809194

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

1 Ответов

Рейтинг:
1

OriginalGriff

Я предполагаю, что именно ваши пароли вызывают проблему: не делайте этого так!
Никогда не храните пароли в открытом тексте-это серьезная угроза безопасности.
Текстовые пароли на основе [^]
Здесь есть некоторая информация о том, как это сделать правильно: Хранение паролей: как это сделать.[^]- это на C#, но это довольно простой код, и онлайн-конвертер должен быть в состоянии перевести его для вас: Преобразователь Кодов[^]


Member 12809194

я уже исправил свой пароль, но чувствительный к регистру все еще не работает. пожалуйста помочь

OriginalGriff

Ваш код по-прежнему показывает текстовые пароли...

Что именно вы подразумеваете под "чувствительным к регистру все еще не работает"?
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.

Member 12809194

Привет, мой оригинальный гриф, я не знаю, куда я положу этот код в своей форме:

Частная Общая Суб RunTest()
Dim userId As String = " OriginalGriff"
Dim password As String = " NotMyPassword"
Dim enteredPassword As String = " NotMyPassword"
Dim notPassword As String = " notMyPassword"
Dim hashedPassword As Byte () = GetSHA1(userId, password)
Если MatchSHA1(hashedPassword, GetSHA1(userId, enteredPassword)) Затем
Приставка.WriteLine ("войдите в систему!")
Ещё
Приставка.WriteLine("не регистрируйте его!")
Конец, Если
Если MatchSHA1(hashedPassword, GetSHA1(userId, notPassword)) Затем
Приставка.WriteLine ("не будет!")
Ещё
Приставка.WriteLine("не регистрируйте его!")
Конец, Если
Конец Подводной Лодки

OriginalGriff

Это "разработка", а не"copy'n'paste"!
Это пример кода, который дает вам "вкус" того, как его использовать, а не код, специфичный для вашего приложения. Вам нужно прочитать его, посмотреть, что он делает, и адаптировать его к вашим конкретным потребностям.
Поскольку это пример кода, он делает общий индикатор "он хороший" / "он не очень хороший" через консоль - как это будет делать то, что вы можете прочитать во всех приложениях, когда вы запускаете их через отладчик. Теперь посмотрите, что делает ваш код, когда он находит хороший или плохой логин, и должно быть очевидно, что вы должны сделать!

Member 12809194

хе-хе-хе, извини, не злись : (я просто новичок

OriginalGriff

Я не злюсь - если бы я был зол, вы бы знали об этом: смейтесь:
Даже новичкам нужно с чего - то начинать, а размышление над заданием-это один из важных уроков, который нужно усвоить на ранней стадии-это делает последующие упражнения намного легче! ;)