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
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.
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
Cái thằng access này nó quái lắm 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
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
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 ><
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
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 đỡ
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.
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")
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
ủa >< gởi vào mail hongoctrien@2mit.org rồi mà --- Nhập chung bài viết, 17 Tháng mười hai 2013 --- Mình có gởi vào mail hongoctrien@2mit.org rồi mà >< Mình có tải lên mf >< https://www.mediafire.com/?8xggz8z6rl39r78
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 Đang không có máy nên chưa mở được