protected void btnDongY_Click(object sender, EventArgs e)
        {
            try
            {
                // kiểm tra dữ liệu
                if (kiemtraThongTinDangKy() == 0)   //nếu có lỗi
                {
                    pnlKetQuaDangKy.Visible = true;
                    return;
                }

                // nếu dữ liệu hợp lệ
                ThanhVien thanhVienDto = new ThanhVien();
                thanhVienDto.TenTaiKhoan = txtTenDangNhap.Text;
                thanhVienDto.MatKhau = txtMatKhau.Text;
                thanhVienDto.Email = txtEmail.Text;
                thanhVienDto.Diem = 0; // khi đọc bảng tham số sẽ truyền giá trị vô
                thanhVienDto.CapBac = 1; // khi đọc bảng tham số sẽ truyền giá trị vô
                thanhVienDto.TinhTrang = 1;
                thanhVienDto.HoTen = "";
                thanhVienDto.NgaySinh = DateTime.Parse("1/1/1900");
                thanhVienDto.GioiTinh = 0;
                thanhVienDto.MaLoaiTV = 2;  // đọc CSDL
                thanhVienDto.DaXoa = 0;

                // thêm vào cơ sở dữ liệu
                int kq = ThanhVien.ThemThanhVien(thanhVienDto);
                // nếu thất bại thì thông báo lỗi
                if (kq == 0)
                {
                    lblKetQuaDangKy.Text = "Đăng ký thành viên lỗi";
                }
                else if (kq == 1)
                {
                    // nếu thành công thì xuất thông báo người dùng
                    // chuyển về trang chủ sau 5s
                    pnlDangKy.Visible = false;
                    pnlKetQuaDangKy.Visible = true;
                    string strKQ = "Đăng ký thành công. Chào mừng bạn đã đến với website Hỏi Đáp A-Z.<br> Bấm vào đây để <span css='link-3'><a href='../Index.aspx'>quay về trang chủ</a></span>";
                    strKQ += " hoặc <span css='link-3'><a href='../TrangCaNhan.aspx'>trang thông tin cá nhân.</a></span>";

                    lblKetQuaDangKy.Height = 200;
                    lblKetQuaDangKy.Text = strKQ;
                }
            }
            catch (Exception ex)
            {
                lblKetQuaDangKy.Text = ex.Message.ToString();
            }
        }
        /// <summary>
        /// Láy DS thành viên theo tình trạng
        /// Created by  : Minh Anh
        /// Date        : 9/5/2011
        /// Edited by   : Thu Hà (ngayxoa)
        /// </summary>
        /// <param name="thanhvienDto"> </param>
        /// <returns>list<thanhvien></returns>
        public List<ThanhVien> LayDSThanhVienTheoTinhTrang(int inputTinhTrang)
        {
            List<ThanhVien> res = new List<ThanhVien>();
            try
            {
                DataTable dtThanhVien = new DataTable();
                List<SqlParameter> lstParam = new List<SqlParameter>();
                lstParam.Add(new SqlParameter("@tinhtrang", inputTinhTrang));
                dtThanhVien = SqlDataAccessHelper.ExecuteQuery("spLayDSThanhVienTheoTinhTrang",lstParam);
                foreach (DataRow dtRow in dtThanhVien.Rows)
                {
                    ThanhVien kq = new ThanhVien();
                    kq.MaThanhVien = int.Parse(dtRow["MaThanhVien"].ToString().Trim());
                    kq.TenTaiKhoan = dtRow["TenTaiKhoan"].ToString();
                    kq.MatKhau = dtRow["MatKhau"].ToString();
                    kq.HoTen = dtRow["HoTen"].ToString();
                    kq.NgaySinh = DateTime.Parse(dtRow["NgaySinh"].ToString());
                    kq.GioiTinh = int.Parse(dtRow["GioiTinh"].ToString().Trim());
                    kq.Email = dtRow["Email"].ToString();
                    kq.TinhTrang = int.Parse(dtRow["TinhTrang"].ToString().Trim());
                    kq.Diem = int.Parse(dtRow["Diem"].ToString().Trim());
                    kq.CapBac = int.Parse(dtRow["CapBac"].ToString().Trim());
                    kq.MaLoaiTV = int.Parse(dtRow["MaLoaiTV"].ToString().Trim());
                    kq.DaXoa = int.Parse(dtRow["DaXoa"].ToString().Trim());
                    kq.LyDo = dtRow["LyDo"].ToString();
                    try
                    {
                        kq.NgayXoa = DateTime.Parse(dtRow["NgayXoa"].ToString());
                    }
                    catch (Exception e)
                    {
                        kq.NgayXoa = DateTime.Parse("1/1/1900");
                    }
                    kq.NguoiXoa = int.Parse(dtRow["NguoiXoa"].ToString().Trim());

                    res.Add(kq);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return res;
        }
        /// <summary>
        /// Created by  : Thu Hà
        /// Date        : 26/5/2011     
        /// </summary>
        /// <param name="tenThanhVien"></param>
        /// <returns></returns>
        public static ThanhVien LayThongTinThanhVienTheoTenTaiKhoan(string tenTaiKhoan)
        {
            ThanhVien res = new ThanhVien();
            try
            {
                // add tham số
                DataTable dtThanhVien = new DataTable();
                List<SqlParameter> lstParam = new List<SqlParameter>();
                lstParam.Add(new SqlParameter("@tentaikhoan", tenTaiKhoan));
                dtThanhVien = SqlDataAccessHelper.ExecuteQuery("spLayThongTinThanhVienTheoTenTaiKhoan", lstParam);
                foreach (DataRow dtRow in dtThanhVien.Rows)
                {
                    res.MaThanhVien = int.Parse(dtRow["MaThanhVien"].ToString().Trim());
                    res.TenTaiKhoan = dtRow["TenTaiKhoan"].ToString();
                    res.MatKhau = dtRow["MatKhau"].ToString();
                    res.HoTen = dtRow["HoTen"].ToString();
                    res.NgaySinh = DateTime.Parse(dtRow["NgaySinh"].ToString());
                    res.GioiTinh = int.Parse(dtRow["GioiTinh"].ToString().Trim());
                    res.Email = dtRow["Email"].ToString();
                    res.TinhTrang = int.Parse(dtRow["TinhTrang"].ToString().Trim());
                    res.Diem = int.Parse(dtRow["Diem"].ToString().Trim());
                    res.CapBac = int.Parse(dtRow["CapBac"].ToString().Trim());
                    res.MaLoaiTV = int.Parse(dtRow["MaLoaiTV"].ToString().Trim());
                    res.DaXoa = int.Parse(dtRow["DaXoa"].ToString().Trim());
                    try
                    {
                        res.LyDo = dtRow["LyDo"].ToString();
                    }
                    catch
                    {
                        res.LyDo = "";
                    }
                    try
                    {
                        res.NgayXoa = DateTime.Parse(dtRow["NgayXoa"].ToString());
                    }
                    catch
                    {
                        res.NgayXoa = DateTime.Parse("1/1/1900");
                    }
                    try
                    {
                        res.NguoiXoa = int.Parse(dtRow["NguoiXoa"].ToString().Trim());
                    }
                    catch
                    {
                        res.NguoiXoa = int.MinValue;
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
                res = null;
            }

            return res;
        }
        /// <summary>
        /// Thêm thành viên
        /// Created by  : Thu Hà
        /// Date        : 3/5/2011
        /// Edite       : Thu Hà (thuộc tính giới tính)
        /// 9/5/2011
        /// </summary>
        /// <param name="thanhvienDto"> </param>
        /// <returns>1: 0</returns>
        public static int ThemThanhVien(ThanhVien thanhVien)
        {
            int res = 0;
            try
            {
                // add tham số
                List<SqlParameter> lstParam = new List<SqlParameter>();
                lstParam.Add(new SqlParameter("@tentaikhoan", thanhVien.TenTaiKhoan));
                lstParam.Add(new SqlParameter("@matkhau", thanhVien.MatKhau));
                lstParam.Add(new SqlParameter("@hoten", thanhVien.HoTen));
                lstParam.Add(new SqlParameter("@ngaysinh", thanhVien.NgaySinh));
                lstParam.Add(new SqlParameter("@gioitinh", thanhVien.GioiTinh));
                lstParam.Add(new SqlParameter("@email", thanhVien.Email));
                lstParam.Add(new SqlParameter("@tinhtrang", thanhVien.TinhTrang));
                lstParam.Add(new SqlParameter("@diem", thanhVien.Diem));
                lstParam.Add(new SqlParameter("@capbac", thanhVien.CapBac));
                lstParam.Add(new SqlParameter("@maloaitv", thanhVien.MaLoaiTV));
                lstParam.Add(new SqlParameter("@daxoa", thanhVien.DaXoa));
                lstParam.Add(new SqlParameter("@lydo", thanhVien.LyDo));
                lstParam.Add(new SqlParameter("@ngayxoa", thanhVien.NgayXoa));
                lstParam.Add(new SqlParameter("@nguoixoa", thanhVien.NguoiXoa));

                res = SqlDataAccessHelper.ExecuteNoneQuery("spThemThanhVien", lstParam);

            }
            catch (Exception e)
            {
                res = 0;
                throw e;
            }
            return res;
        }
        /// <summary>
        /// Láy DS thành viên
        /// Created by  : Minh Anh
        /// Date        : 9/5/2011
        /// Edited by   : Thu Hà (Ngayxoa)
        /// </summary>
        /// <param name="thanhvienDto"> </param>
        /// <returns>list<thanhvien></returns>
        public static List<ThanhVien> LayDSThanhVien()
        {
            List<ThanhVien> res = new List<ThanhVien>();
            try
            {
                DataTable dtThanhVien = new DataTable();
                dtThanhVien = SqlDataAccessHelper.ExecuteQuery("spLayDSThanhVien");
                foreach (DataRow dtRow in dtThanhVien.Rows)
                {
                    ThanhVien kq = new ThanhVien();
                    kq.MaThanhVien = int.Parse(dtRow["MaThanhVien"].ToString().Trim());
                    kq.TenTaiKhoan = dtRow["TenTaiKhoan"].ToString();
                    kq.MatKhau = dtRow["MatKhau"].ToString();
                    kq.HoTen = dtRow["HoTen"].ToString();
                    kq.NgaySinh = DateTime.Parse(dtRow["NgaySinh"].ToString());
                    kq.GioiTinh = int.Parse(dtRow["GioiTinh"].ToString().Trim());
                    kq.Email = dtRow["Email"].ToString();
                    kq.TinhTrang = int.Parse(dtRow["TinhTrang"].ToString().Trim());
                    kq.Diem = int.Parse(dtRow["Diem"].ToString().Trim());
                    kq.CapBac = int.Parse(dtRow["CapBac"].ToString().Trim());
                    kq.MaLoaiTV = int.Parse(dtRow["MaLoaiTV"].ToString().Trim());

                    kq.DaXoa = int.Parse(dtRow["DaXoa"].ToString());

                    //Anh Vũ -- Thêm điều kiện kiểm tra vì LyDo có thể null
                    try
                    {
                        kq.LyDo = dtRow["LyDo"].ToString();
                    }
                    catch
                    {
                        kq.LyDo = "";
                    }
                    try
                    {
                        kq.NgayXoa = DateTime.Parse(dtRow["NgayXoa"].ToString());
                    }
                    catch
                    {
                        kq.NgayXoa = DateTime.Parse("1/1/1900");
                    }

                    //Anh Vũ -- Thêm điều kiện kiểm tra vì NguoiXoa có thể null
                    try
                    {
                        kq.NguoiXoa = int.Parse(dtRow["NguoiXoa"].ToString().Trim());
                    }
                    catch
                    {
                        kq.NguoiXoa = 0;
                    }

                    res.Add(kq);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return res;
        }