简单的三层登录
在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页面
写的不是很好
--------------------编程问答-------------------- 初学,还不能看懂。 --------------------编程问答-------------------- 三层 无非就是把 UI 和 业务逻辑 与 数据层分开来做罢了 --------------------编程问答--------------------
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 = "验证码错误并且验证码不能为空,请重新输入!";
}
}
}
补充:.NET技术 , ASP.NET