Thảo luận Cần code đổi mật khẩu trong vb.net csdl access

Thảo luận trong 'Visual Basic/VBA' bắt đầu bởi Stork, 4 Tháng mười hai 2013.

  1. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110
    Mình đang đy dần vào bước hoàn thiện đồ án. Nhưng vẫn còn vấn đề này ko code được.
    Ai có cho mình xin với :(
  2. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Chức năng này tương đối dễ, làm đến bước này rồi chắc mình gợi thêm là bạn tự làm được.

    Tạo form "Đổi mật khẩu" gồm 3 textbox là "Mật khẩu cũ", "Mật khẩu mới", "Nhập lại mật khẩu mới" và button "Lưu".

    Mã:
    if "mk cũ" == "" or count == 0 thì
    Mật khẩu cũ không đúng
    elseif "mk mới" == "" thì
    Nhập mật khẩu mới
    elseif "Nhập lại mk" == "" thì
    Nhập lại mật khẩu mới
    elseif "mk mới" <> "nhập lại mk" thì
    Nhập lại mk ko đúng
    else
    Cập nhật lại mật khẩu
    Biến count (int): Kiểm tra giống chức năng đăng nhập.
  3. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110
    Mã:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim count As Integer = db.doCount(" SELECT count(TenDN) from DANGNHAP where MatKhau = '" & Me.txtMatKhauMoi.Text & "'")
    If Me.txtMKCu.Text = "" Or count = 0 Then
    MsgBox("Mật khẩu hiện tại không đúng")
    ElseIf Me.txtMatKhauMoi.Text = "" Then
    MsgBox("Nhập mật khẩu mới")
    ElseIf txtNhapLai.Text = "" Then
    MsgBox("Nhập lại mật khẩu mới")
    ElseIf txtMatKhauMoi.Text <> txtNhapLai.Text Then
    MsgBox("Mật khẩu không giống nhau")
    Else
    Dim str As String = "Update DANGNHAP Set MatKhau = '" + Me.txtMatKhauMoi.Text + "'"
    If db.doSQLDK(str) Then
    MsgBox("Cập nhật thành công")
    End If
    End If
    End Sub
    End Class
    Sao đổi mk được có 1 lần >.<
    ID: admin pass:admin
    đổi mk lần 1 : 123 thông báo cập nhật thành công. CSDL trong access cũng đổi thành 123 rồi.
    xong đăng xuất ra đăng nhập lại ngon lành
    ID: admin pass: 123
    vào đổi lại mk lần 2: nhập pass cũ 123 là thông báo mật khẩu hiện tại không đúng
    Cái này bị gì vậy :(
  4. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Cái thằng access này nó quái lắm :D
    Bạn vào CSDL xem giúp mình trước mật khẩu có thừa khoảng trắng nào không
  5. Offline

    kissofdeath

    • Windows 2.0

    Số bài viết:
    162
    Đã được thích:
    21
    Điểm thành tích:
    20
    Mã:
    Dim count As Integer = db.doCount(" SELECT count(TenDN) from DANGNHAP where MatKhau = '" & Me.txtMatKhauMoi.Text & "'")
    Cái này không cần xét TenDN à?
    nên Đóng CSDL trước khi thao tác
    hongoctrien thích bài này.
  6. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    ờ hè, đúng á, phải kiểm tra cả tên đn nữa chứ.
    Đóng CSDL ngay trong hàm docount luôn
  7. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110
    ko có :v

    là sao. cái này nó kiểm tra tên đn rồi mà
    Dim count As Integer = db.doCount(" SELECT count(TenDN) from DANGNHAP


    Cho mình code luôn đy ><
  8. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Nếu bạn đếm như thế nó sẽ đếm "những user có mật khẩu là xxxx"
    Thế này
    Mã:
    Dim count As Integer = db.doCount(" SELECT count(TenDN) from DANGNHAP where TenDN = 'abcd' and MatKhau = '" & Me.txtMatKhauMoi.Text & "'")
    Bạn xem lại, nếu ko được nữa thì gửi form và CSDL mình xem
  9. Offline

    kissofdeath

    • Windows 2.0

    Số bài viết:
    162
    Đã được thích:
    21
    Điểm thành tích:
    20
    ý là đóng access trước khi thao tác
    hongoctrien thích bài này.
  10. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110

    Mã:
        Dim count As Integer = db.doCount(" SELECT count(TenDN) from DANGNHAP where  Trim(MatKhau) = '" & Me.txtMatKhauMoi.Text & "'")
    [COLOR=#ff0000]        If Me.txtMKCu.Text = "" Or count = 0 Then[/COLOR]
    [COLOR=#ff0000]            MsgBox("Mật khẩu hiện tại không đúng")[/COLOR]
            ElseIf Me.txtMatKhauMoi.Text = "" Then
                MsgBox("Nhập mật khẩu mới")
            ElseIf txtNhapLai.Text = "" Then
                MsgBox("Nhập lại mật khẩu mới")
            ElseIf txtMatKhauMoi.Text <> txtNhapLai.Text Then
                MsgBox("Mật khẩu không giống nhau")
            Else
                Dim str As String = "Update DANGNHAP Set MatKhau ='" + Me.txtMatKhauMoi.Text + "'"
                If db.doSQLDK(str) Then
                    MsgBox("Cập nhật thành công")
                End If
            End If
        End Sub
    Coi lại dùm mình đoạn này với ><
    vì nếu mình nhập mỗi mật khẩu hiện tại vào thỳ nó toàn báo là mk hiện tại không đúng ><
    Mình có 1 form đổi mật khẩu
    mk hiện tại
    mk mới
    nhập lại

    csdl access thỳ có 1 table dangnhap có 2 thuộc tính là TenDN với MatKhau

    Mong sớm nhận được giúp đỡ :(
  11. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Trong trường hợp không xác định được lỗi do đâu, bạn thử từng cái, đó là kinh nghiệm.
    Bạn in câu select ra và run trong access xem kết quả nó thế nào.
    Gửi project bạn đang làm vào mail hongoctrien@2mit.org mình xem.
  12. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110


    nó bị lỗi đoạn này nè
    If Me.txtMKCu.Text = "" Or count = 0 Then
    MsgBox("Mật khẩu hiện tại không đúng")
  13. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Biến count chắc chắn bằng 0.
    Gửi project qua mail mình đi
  14. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110
    Mình gởi rồi đó >.<
    thứ 6 này là thy rồi :(
    mà ai có kinh nghiệm gì trong thy mấy môn đồ án kiểu thuyết trình sẽ chia với :v
  15. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Mình chưa nhận được email của bạn.
  16. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110
    hongoctrien thích bài này.
  17. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Có thể là nó không cho gửi file đính kèm mất rồi.
    Không biết giờ mình đọc bài này có muộn không :D
    Đang không có máy nên chưa mở được
  18. Offline

    Stork

    • Windows 95

    Số bài viết:
    98
    Đã được thích:
    13
    Điểm thành tích:
    110
    ộc >.<
    giúp mình nhanh với thứ 6 tuần này >.<

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí