Sửa lỗi form login bằng viết bằng ASP.NET

Code buttuon đăng nhập:

protected void btnDN_Click(object sender, EventArgs e)
    {
        string[] values = new string[]{
            txtTK.Text,
            txtMK.Text,
        };

        string[] pars = new string[]
        {
            "TEN_DANG_NHAP",
            "MAT_KHAU"      
        };


        DataSet ds = xl.docNhieuDLStored("dangNhap",values,pars);
        if (ds.Tables[0].Rows.Count > 0) //Co du lieu dung trong CSDL
        {
            TaiKhoan tk = new TaiKhoan(
                ds.Tables[0].Rows[0]["ID_TAI_KHOAN"] + ""
                , ds.Tables[0].Rows[0][1] + ""
                , ds.Tables[0].Rows[0][2] + ""
                , ds.Tables[0].Rows[0][3] + ""
                , ds.Tables[0].Rows[0][4] + "");
            Session["dn"] = tk; //Ghi nhớ thông tin đăng nhập
            if (ds.Tables[0].Rows[0][4] + "" == "1")
                Response.Redirect("CapNhatLoaiHang.aspx");
            else if (ds.Tables[0].Rows[0][4] + "" == "2")
                Response.Redirect("mode.aspx");
            else if (ds.Tables[0].Rows[0][4] + "" == "3")
                Response.Redirect("cus.aspx");
        }
    }

Strored Procedure:

CREATE PROCEDURE [dbo].dangNhap

@TEN_DANG_NHAP VARCHAR (20),
@MAT_KHAU      VARCHAR (128)

AS
SELECT * from TAI_KHOAN
where TEN_DANG_NHAP= @TEN_DANG_NHAP AND MAT_KHAU = @MAT_KHAU

Ai giúp em sửa lỗi làm form đăng nhập ASP.NET như thế này với ạ, em code mà nó không đặng nhập được ạ, e tìm trên mạng thì k có chỉ cách như thế này.

Không đăng mã bằng hình ảnh!


Bạn trả về 0???

RETURN 0

Xem: https://stackoverflow.com/a/5604998/10702045

2 Likes

e xóa return r vẫn không được ạ.

Phần source code do bạn cung cấp thiếu một số chi tiết:

  1. Làm thế nào để gán giá trị cho hai fields txtTK.TexttxtMK.Text? Bạn có chắc rằng hai field này có chứa các giá trị do user nhập vào khi btnDN_Click được gọi hay không?
  2. Phương thức docNhieuDLStored được viết như thế nào? Phương thức này có cung cấp đúng các giá trị TEN_DANG_NHAPMAT_KHAU cho stored procedure dangNhap hay không?

Bạn phải kiểm tra từng bước như trên thì sẽ tìm được vấn đề thôi (Để kiểm tra xem @TEN_DANG_NHAP@MAT_KHAU có đúng với giá trị được truyền vào không, bạn có thể viết thêm một vài query nữa trong store procedured và lưu các giá trị này vào một table tạm thời nào đó. Sau khi phương thức btnDN_Click chạy xong, bạn kiểm tra các giá trị này).

4 Likes

dạ, e cảm ơn a nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?