当前位置:编程学习 > C#/ASP.NET >>

简单的三层登录

在DAL层有个类(DBHelper),用到这个类  做一个三层下的登录和注册,请问怎么做啊 


namespace qbDAL
{
    public class DBhelper
    {
        ///<summary>
        /// 数据库访问通用方法类
        /// </summary>
        private static SqlConnection connection;
        public static SqlConnection Connection
        {
            get 
            {
                string connectionString = ConfigurationManager.ConnectionStrings["qbConn"].ConnectionString;
                if (connection == null) 
                {
                    connection = new SqlConnection(connectionString);
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Closed) 
                {
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Broken) 
                {
                    connection.Close();
                    connection.Open();
                }
                return connection;
            }
        }
        /// <summary>
        /// 执行SQl语句
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static int ExecuteCommand(string safeSql) 
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            int result = cmd.ExecuteNonQuery();
            return result;
        }
        /// <summary>
        /// 返回首行首列的值
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static object GetScalar(string safeSql) 
        {
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            object obj = cmd.ExecuteScalar();
            return obj; 
        }
        /// <summary>
        /// 返回表格的查询
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static DataTable GetDataTable(string safeSql) 
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds.Tables[0];
        }
        /// <summary>
        /// 返回数据集的查询
        /// </summary>
        /// <param name="safeSql"></param>
        /// <returns></returns>
        public static DataSet GetDataSet(string safeSql) 
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand(safeSql, Connection);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds;
        }
    }
}
--------------------编程问答--------------------

DBHelper 这个是底层 
给你个例子 你看着改

using System;
using System.Collections.Generic;
using System.Text;

namespace Model
{
    #region 用户
    public class Edu_user
    {
        private int U_id;

        public int U_id1
        {
            get { return U_id; }
            set { U_id = value; }
        }
        private string U_name;

        public string U_name1
        {
            get { return U_name; }
            set { U_name = value; }
        }
        private string U_truename;

        public string U_truename1
        {
            get { return U_truename; }
            set { U_truename = value; }
        }
        private string U_pwd;

        public string U_pwd1
        {
            get { return U_pwd; }
            set { U_pwd = value; }
        }
        private string U_role;

        public string U_role1
        {
            get { return U_role; }
            set { U_role = value; }
        }
        private string U_Type_id;

        public string U_Type_id1
        {
            get { return U_Type_id; }
            set { U_Type_id = value; }
        }
        private bool U_state;

        public bool U_state1
        {
            get { return U_state; }
            set { U_state = value; }
        }
        private string U_ip;

        public string U_ip1
        {
            get { return U_ip; }
            set { U_ip = value; }
        }
        private DateTime U_inserttime;

        public DateTime U_inserttime1
        {
            get { return U_inserttime; }
            set { U_inserttime = value; }
        }
        private string U_memo;

        public string U_memo1
        {
            get { return U_memo; }
            set { U_memo = value; }
        }
    }
    #endregion
    #region 用户组管理
    public class Edu_U_Type
    {
        private int U_Type_id;

        public int U_Type_id1
        {
            get { return U_Type_id; }
            set { U_Type_id = value; }
        }
        private string U_Type_name;

        public string U_Type_name1
        {
            get { return U_Type_name; }
            set { U_Type_name = value; }
        }
        private string U_Type_memo;

        public string U_Type_memo1
        {
            get { return U_Type_memo; }
            set { U_Type_memo = value; }
        }

    }
    #endregion

    #region 个人形象
    public class Images
    {
        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string filename;

        public string Filename
        {
            get { return filename; }
            set { filename = value; }
        }
        private string size;

        public string Size
        {
            get { return size; }
            set { size = value; }
        }
        private string memo;

        public string Memo
        {
            get { return memo; }
            set { memo = value; }
        }
    }
    #endregion
}



DAL层


using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace DAL
{
    #region 用户
    public class Edu_user
    {

        DataBase db = new DataBase();
        /// <summary>
        /// 判断用户名是否正确
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool Isname(Model.Edu_user model)
        {
            SqlParameter[] p = { new SqlParameter("@name", SqlDbType.NVarChar, 30) };
            p[0].Value = model.U_name1;
            int i = Convert.ToInt32(db.GetObjectRunProcedure("procIsName", true, p));
            if (i > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 判断用户名是否正确
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public bool Isuname(Model.Edu_user model)
        {
            SqlParameter[] p = new SqlParameter[1];
            p[0] = new SqlParameter("@name", SqlDbType.NVarChar, 30);
            p[0].Value = model.U_name1;
            int i = Convert.ToInt32(db.GetObjectRunProcedure("procLoginname", true, p));
            if (i > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 得到密码
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public string Ispwd(string name)
        {
            SqlParameter p = new SqlParameter("@name", SqlDbType.VarChar, 30);
            p.Value = name;
            string pwd = Convert.ToString(db.GetObjectRunProcedure("procIsPwd", true, p));
            return pwd;
        }
        /// <summary>
        ///判断用户权限
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int GetLoginRole(Model.Edu_user model)
        {
            SqlParameter[] p = { new SqlParameter("@name", SqlDbType.NVarChar, 30) };
            p[0].Value = model.U_name1;
            return Convert.ToInt32(db.GetObjectRunProcedure("procgetRole", true, p));
        }
}



BLL层

using System.Collections.Generic;
using System.Text;
using System.Data;

namespace BLL
{
    public class Edu_user
    {
        DAL.Edu_user dal = new DAL.Edu_user();
        /// <summary>
        /// 判断用户名是否正确
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool Isname(Model.Edu_user model)
        {
            return dal.Isname(model);
        }
         /// <summary>
        /// 得到密码
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public string Ispwd(string name)
        {
            return dal.Ispwd(name);
        }
        /// <summary>
        ///判断用户权限
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int GetLoginRole(Model.Edu_user model)
        {
            return dal.GetLoginRole(model);
        }
}
}




DataBase  就相当于 你的 DBHelper --------------------编程问答-------------------- login页面
写的不是很好 


using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void BtnOK_Click(object sender, EventArgs e)
    {
        if (TxtVerify.Text.ToLower() == Session["VerifyCode"].ToString())
        {
            BLL.Edu_user bll = new BLL.Edu_user();
            Model.Edu_user model = new Model.Edu_user();
            model.U_name1 = TxtName.Value.Trim();
            if (bll.Isname(model))
            {
                string pwd = bll.Ispwd(TxtName.Value.Trim());
                if (TxtPwd.Value.Trim()==pwd)
                {

                  
                    Session["Name"] = TxtName.Value.Trim();//得到用户名
                    Session["ID"] = bll.GetLoginUid(model);//得到用户ID
                    Session["U_role"] = bll.GetLoginRole(model);
                    int Role = bll.GetLoginRole(model);
                    switch (Role)
                    {
                        case 1:
                            {
                                Response.Redirect("~/Front/Read/Index.aspx?type=Info_all");
                                break;
                            }
                       
                        case 9:
                            {
                                Response.Redirect("~/Front/Admin/Index.aspx?type=Info_all");

                                break;
                            }
                        default: break;
                    }
                }
                else
                {
                    //密码错误
                    LblTip.Text = "密码错误!";
                }
            }
            else
            {
                //帐号错误或者该帐号已被停用
                LblTip.Text = "账号错误或者该账号不存在,请重新输入!";
            }
        }
        else
        {
            //验证码错误
            LblTip.Text = "验证码错误并且验证码不能为空,请重新输入!";
        }
    }

}

--------------------编程问答-------------------- 初学,还不能看懂。 --------------------编程问答-------------------- 三层 无非就是把 UI 和 业务逻辑 与 数据层分开来做罢了 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,