未知 [信息技术] 三层结构体系显示层/逻辑层/数据层     阅读:6826  

三层结构体系显示层/逻辑层/数据层
作者: 不详 编辑: 海韵 发布日期: 2006-11-16 00:00:00 点击量: 6826 来源: haiyun.net

显示层通常由.aspx/.aspx.cs文件构成,用来显示数据页面,按三层体系的分的话,页面层应该是直接调用逻辑层中的方法
逻辑层是一个中间层,用来连接页面层和数据层,它要给页面层提供接口同时也要从数据层中调用方法供页面层使用
数据层是最底层了,一般作数据方面的操作
呵,暂时这样解释这三层体系吧,小试了一吧.
页面层[default.aspx]:只有一个DataGrid控件和一个Label控件
页面的最终执行结果

default.aspx.cs文件


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using LemongTree.BL;
namespace services
{
        /// <summary>
        /// _default 的摘要说明。
        /// </summary>
        public class _default : System.Web.UI.Page
        {
                protected System.Web.UI.WebControls.Label Label1;
                protected System.Web.UI.WebControls.DataGrid DataGrid1;
       
                private void Page_Load(object sender, System.EventArgs e)
                {
                        // 在此处放置用户代码以初始化页面
                        if(!Page.IsPostBack)
                        {
                        setup("select * from favor",DataGrid1);
                        }
                }
                private void setup(string sql,DataGrid dg)
                {
                BLayer bl = new BLayer("server=lemongtree;uid=sa;pwd=sa;database=bbs");
                        bl.showDataGrid(sql,dg);
                        Label1.Text=bl.error;
                }

                #region Web 窗体设计器生成的代码
                override protected void OnInit(EventArgs e)
                {
                        //
                        // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
                        //
                        InitializeComponent();
                        base.OnInit(e);
                }
               
                /// <summary>
                /// 设计器支持所需的方法 - 不要使用代码编辑器修改
                /// 此方法的内容。
                /// </summary>
                private void InitializeComponent()
                {   
                        this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
                        this.Load += new System.EventHandler(this.Page_Load);

                }
                #endregion

                private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
                {
               
                }
        }
}

逻辑层[BL.cs]


using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using LemongTree.DB;
using System.Web.UI.WebControls;
namespace LemongTree.BL
{
        /// <summary>
        /// BL 的摘要说明。
        /// </summary>
        public class BLayer
        {
                private string strconn;
                private SqlConnection objConn;
                private DBMaster dbm;
                private string ErrMsg;
                public BLayer(string strconn)
                {
                        //
                        // TODO: 在此处添加构造函数逻辑
                        //
                        this.strconn=strconn;
                        this.objConn=new SqlConnection(strconn);
                        dbm=new DBMaster(strconn);
                }
                public string error
                {
                        get
                        {
                        return ErrMsg;
                        }
                }
                public void showDataGrid(string strsql,DataGrid dgrd)
                {
                       
                        dgrd.DataSource=dbm.dataset(strsql);
                        ErrMsg=dbm.Error;
                        dgrd.DataBind();
                }
        }
}

数据层[DB.cs]


using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Microsoft.ApplicationBlocks.Data;
namespace LemongTree.DB
{
        /// <summary>
        /// DB 的摘要说明。
        /// </summary>
        public class DBMaster
        {
                private string strconn;
                private string msg;
                private SqlConnection objConn;
                public DBMaster(string strConn)
                {
                        //
                        // TODO: 在此处添加构造函数逻辑
                        //
                        this.strconn=strConn;
                        this.objConn=new SqlConnection(strConn);
                }
                public string Error
                {
                        get
                        {
                        return msg;
                        }
                }
                public DataSet dataset(string strSql)
                {
                        DataSet dst = new DataSet();
                        try
                        {
                                dst = SqlHelper.ExecuteDataset(strconn,CommandType.Text,strSql);
                                msg="记录总数:<b>"+dst.Tables[0].Rows.Count.ToString()+"</b>";
                                return dst;
                        }
                        catch(SqlException e)
                        {
                                msg=e.Message;
                        }
                        finally
                        {
                                dst.Dispose();
                        }
                        return null;
                }
        }
}


[ 海韵 于 2006-11-16 00:00:00  Thursday   ]  
相关文章:

网友评论
正在加载评论...


免责申明 | 版权申明 | 联系我们 | 关于
Copyright © 2001-2024 Haiyun.Net All Rights Reserved
地址:深圳市南山区南油天安工业区1栋3楼 邮编:518000
有我可以帮您的吗?QQ:12457275  
粤ICP备05017321号-1