Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 9 của 9
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Hàm kiểm tra đăng nhập trong lập trình C#

    Chào anh/chị !
    Em xây dựng 1 cái hàm kiểm tra như thế này :
    Mã:
     public static bool KiemTra(string dauvao, string strsql, byte chiso)
            {
                bool ok = false;
                DataTable ds = ExecuteDataTable(strsql, CommandType.Text);
                foreach (DataRow row in ds.Rows)
                {
                    if (dauvao.ToLower() == row[chiso].ToString().ToLower())
    
                        ok = true;
                }
    
                return ok;
    }
    Sau đó ở form đăng nhập em sử dụng như sau :
    Mã:
      private void btDangNhap_Click(object sender, EventArgs e)
            {
    
                if ((ClsKetNoi.KiemTra(txtUserName.Text, "Select *from tbuser", 0) ==true) && (ClsKetNoi.KiemTra(txtPassword.Text, "select *from tbuser",1 ) == true))
                {
                    MessageBox.Show("Bạn đã đăng nhập thành công");
                    this.Hide();
                    frmMain f = new frmMain();
                    f.Show();
                }
                else
                {
       MessageBox.Show("Tên đăng nhập hoặc Mật khẩu không đúng ", "Lỗi đăng nhập", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtUserName.Focus();
                }
                           
            }
    Khi chạy dù em nhập đúng username và pass nhưng cứ báo là : Tên đăng nhập hoặc Mật khẩu không đúng
    Em thật sự không biết sai ở đâu mà nó cũng không báo lỗi gì hết
    Nhờ anh chị em chỉ giùm .
    Cám ơn nhiều !

  2. #2
    Có dùng đó mà (== true) , vẫn chưa được

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thấy kì kì như code của bạn thì nếu tài khoản tồn tại và nằm ở dòng có index != 0 thì OK luôn trả về false

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    2` sr nhìn lộn, bạn debug xem ds của bạn có dữ liệu chưa...

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn anh nhiều nhé !

    "Tốt nhất nên để nvarchar"

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    1.Đã bug vào đến KiemTra(...) thấy return true hết chưa?
    2. Datatype của user và pass trong tbuser là gì? varchar hay nvarchar? Nếu là varchar thì sẽ tự sinh ra khoảng trắng phía sau để đúng = length của trường đó, nên khi so sánh chuỗi nếu ko trim() thì ko = nhau đc. Tốt nhất nên để nvarchar.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hình như là ở cái hàm tolower của bạn đó
    hôm trước mình làm so sanh hai chuỗi giống nhau nhưng một bên viết hoa một bên không viết hoa dùng ham tolower nó báo là không giống nhau

    BẠN THỬ DÙNG HÀM STRING.COMPARE NÀY XEM
    if (string.Compare(textBox1.Text, textBox2.Text, true)==0)
    {
    MessageBox.Show("bang nhau");
    }
    else
    MessageBox.Show("khac nhau");

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hàm kiểm tra thấy có trả về cờ ok mà hàm login hình như k có dùng nhỉ ?

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cái clsketnoi của bạn vít tn? cho xin code đc k?

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •