理解ASP.NET中的三层中的DAL、BLL和USL
来源:互联网 发布:游戏隐藏软件 编辑:程序博客网 时间:2024/05/05 13:49
2008-04-18 22:24
一、三层体系架构 1.表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
一个简单的三层结构ASP.NET代码Login.aspx 在页面上建用户名和密码的文本框,登录按钮 ----------------------- Login.aspx.cs protected void Submit_Click(object sender, EventArgs e) { DataAccess.Class1 dac = new DataAccess.Class1(); if (dac.CheckLogin(this.UName.Text, this.pwd.Text)) //Response.Write("Success!"); //Response.Redirect("Default.aspx?"); Server.Transfer("Default.aspx"); else Response.Write("Failed!"); //Server.Transfer("Login.aspx"); } ---------------------------------------------------- Default.aspx 在页面上建GridView,要写内容到数据库的文本框和按钮 ------------------------- Default.aspx.cs protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { BindData(); } } public void BindData() {//51aspx.com DataAccess.Class1 dac = new DataAccess.Class1(); DataSet ds = dac.getUsers(); this.GridView1.DataSource = ds.Tables[0].DefaultView; this.GridView1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { DataAccess.Class1 dac = new DataAccess.Class1(); DataSet ds = dac.getUsers(); DataRow dr = ds.Tables[0].NewRow(); dr["UsersName"] = this.TextBox1.Text; dr["Passwords"] = this.TextBox2.Text; dr["BlogName"] = this.TextBox3.Text; ds.Tables[0].Rows.Add(dr); dac.updataBystoredprocedure(ds); BindData();//51aspx.com } ------------------------------------------------------------- Common类库: //cn public const string ConnectString = "server=localhost;database=DBxBlog;UID=xBlog;PassWord=123456"; //Sql public const string Sql_getUser = "select * from Users"; //Table public const string table_Users = "Users"; //StoredProcedure public const string StoredProcedure_insert = "insertUsers"; ------------------------------------------------------------------- DataAccess类库(数据层): SqlConnection cn = new SqlConnection(Common.Class1.ConnectString); SqlDataAdapter da; DataSet ds=new DataSet(); //gettable public DataSet getUsers() { SqlCommand cmd = new SqlCommand(Common.Class1.Sql_getUser,cn); da = new SqlDataAdapter(cmd); da.Fill(ds,Common.Class1.table_Users); return ds; } //Login public bool CheckLogin(string name, string pwd) { try { SqlCommand cmd = new SqlCommand("select count(*) from Users where UsersName='" + name + "'and Passwords='" + pwd + "'", cn); cn.Open(); int count = -1; count = Convert.ToInt32(cmd.ExecuteScalar()); if (count < 1) return false; return true; } catch (Exception ex) { return false; } } //textbox updata public void updata(DataSet ds) { SqlCommand cmd = new SqlCommand("insert into Users(UsersName,Passwords,BlogName)valuse(@UsersName,@Passwords,@BlogName)", cn); cmd.Parameters.Add("@UsersName",SqlDbType.VarChar,20,"UsersName"); cmd.Parameters.Add("@Passwords", SqlDbType.VarChar, 50, "Passwords"); cmd.Parameters.Add("@BlogName", SqlDbType.VarChar, 20, "BlogName"); da=new SqlDataAdapter (); da.InsertCommand=cmd; cn.Open(); da.Update(ds,Common.Class1.table_Users); cn.Close(); } //stroedprocedure updata public void updataBystoredprocedure(DataSet ds) { SqlCommand cmd = new SqlCommand(Common.Class1.StoredProcedure_insert,cn); cmd.Parameters.Add("@UsersName",SqlDbType.VarChar,20,"UsersName"); cmd.Parameters.Add("@Passwords", SqlDbType.VarChar, 50, "Passwords"); cmd.Parameters.Add("@BlogName", SqlDbType.VarChar, 20, "BlogName"); cmd.CommandType = CommandType.StoredProcedure; da=new SqlDataAdapter(); da.InsertCommand=cmd; cn.Open(); da.Update(ds,Common.Class1.table_Users); cn.Close(); } |
- 理解ASP.NET中的三层中的DAL、BLL和USL
- 理解ASP.NET中的三层中的DAL、BLL和USL
- 理解ASP.NET中的三层中的DAL、BLL和USL
- 理解ASP.NET中的三层中的DAL、BLL和USL
- 【转】理解ASP.NET中的三层中的DAL、BLL和USL
- .net中的DAL和BLL
- .NET中的DAL+IDAL+Model+BLL+Web
- ASP.NET的三层架构(DAL,BLL,UI)
- ASP.NET的三层架构(DAL,BLL,UI)
- ASP.NET的三层架构(DAL,BLL,UI)
- ASP.NET的三层架构(DAL,BLL,UI)
- ASP.NET的三层架构(DAL,BLL,UI)
- ASP.NET的三层架构(DAL,BLL,UI)
- asp.net与三层架构(BLL DAL Model)
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- 了解c#中的三层架构(DAL,BLL,UI)
- eclipse 生成javadoc乱码
- OpenMAX大意(一~三)
- DataList介绍
- Nat 检测代码,udp实现
- delphi中string转array of char
- 理解ASP.NET中的三层中的DAL、BLL和USL
- Visual Studio 2008 到底有多强?漫画告诉你!
- perl regexp
- Max中利用Maxscript合并材质
- 查看当前数据库中触发器的个数
- 工作的实质的理解
- VC中CCheckListBox显示时崩溃的原因及解决方法
- Solaris安装GCC/GDB以及环境变量的设置
- C++经典书籍