【LIYBFramework】使用教程三:使用数据访问类库构建三层结构web程序

    步骤:
    1.打开vs2005,新建名称为Demo1的web应用程序;
    2.将以下信息复制,保存为LIYBFramework.Config,放到程序根目录下。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <Context id="public" default="true">
    <!-- 数据库设置:连接、类型(oracle、sqlServer、access)-->
    <Database Type="SqlServer" ConnStr="server=.;uid=sa;pwd=123;database=Test;" AccessClass="LIYB.Framework.DataBaseAccess.SqlServerAccess,LIYB.Framework.DataBaseAccess" />  
    <!--字段与字段之间的分隔符-->
    <ColSplit value="Col㊣☆Col▲㊣Col!@#$Col㊣☆▲㊣Col" />
    <!--记录与记录之间的分隔符-->
    <RowSplit value="Row☆㊣Row▲☆Row!@#$Row☆㊣▲㊣Row" />
  </Context>
</configuration>

    3.在数据库中执行以下脚本:
      Go
      EXEC sp_addtype N'GUIDEx', N'varchar (32)', N'null'
      Go
      Create Table Demo1
      (
        UserID GUIDEx primary Key,
        UserName varchar(100),
        Sex varchar(100)
      )
     Go
    4.在项目下新建文件夹Demo1,并添加list.aspx(列表页),admin.aspx(增加、修改页)页,增加类文件BllDemo1.cs。将

LIYB.Framework.DataBaseAccess.dll复制到bin目录。添加实体类Demo1Entity。此时,雏形已经搭建出来了。下面完成这个demo。
    5.我们直接使用LIYB.Framework.DataBaseAccess作为数据层,这里只添加了BllDemo1.cs作为业务逻辑层次,在业务逻辑层处理逻辑并调

用数据访问层相关方法。
    6.为业务逻辑增加方法,在这里设置五个方法:LoadRecod() AddRecord() UpdateRecord() DeleteRecord() LoadListData()
    7.在list.aspx中放一个gridview控件,并在后台绑定数据。
    8.在admin.aspx放置输入框,并在.cs文件中调用业务逻辑层相关方法,完成操作。
   
    完整的源代码下载地址: https://files.cnblogs.com/AppFramework/Demo1.rar
    分页存储过程下载地址:https://files.cnblogs.com/AppFramework/ListDataProc.rar 

 部分源代码:

Demo1Entity.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using LIYB.Framework.DataBaseAccess;

namespace Demo1.Demo1
{
    /// <summary>
    ///  Demo1实体
    /// </summary>
    [DBTable("Demo1", "UserID")]
    public class Demo1Entity
    {
        #region 成员变量
        private string m_UserID;
        private string m_UserName;
        private string m_Sex;
        #endregion

        #region 构造函数
        public Demo1Entity()
        {
        }
        #endregion

        /// <summary>
        /// 用户ID,主键字段
        /// </summary>
        [DBField("UserID", true)]
        public string UserID
        {
            get
            {
                return m_UserID;
            }
            set
            {
                m_UserID = value;
            }
        }

        /// <summary>
        /// 用户名
        /// </summary>
        [DBField("UserName")]
        public string UserName
        {
            get
            {
                return m_UserName;
            }
            set
            {
                m_UserName = value;
            }
        }

        /// <summary>
        /// 性别
        /// </summary>
        [DBField("Sex")]
        public string Sex
        {
            get
            {
                return m_Sex;
            }
            set
            {
                m_Sex = value;
            }
        }
    } // ClassEnd
}


BllDemo1.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using LIYB.Framework.DataBaseAccess;

namespace Demo1.Demo1
{
    public class BllDemo1 : BllBase
    {
        #region 构造函数
        /// <summary>
        /// 构造函数
        /// </summary>
        public BllDemo1()
        {
        }
        #endregion

        /// <summary>
        /// 获取列表数据
        /// </summary>
        /// <returns>列表数据</returns>
        public DataTable LoadListData()
        {
            QueryConditions Querys = new QueryConditions();
            DataTable tb = dal.ExecuteListData("Demo1", "UserID", "UserID,UserName,Sex", "UserID", 3, 1,false, Querys, OrderTypeEnum.Desc);
            return tb;
        }

        /// <summary>
        /// 加载记录
        /// </summary>
        public bool LoadRecod(Demo1Entity Entity)
        {
            return dal.LoadEntity(Entity);
        }

        /// <summary>
        /// 增加记录
        /// </summary>
        public void AddRecord(Demo1Entity Entity)
        {
            try
            {
                dal.BeginTransaction();
                dal.InsertEntity(Entity);
                dal.Commit();
            }
            catch(Exception ex)
            {
                dal.Rollback();
                throw ex;
            }
        }

        /// <summary>
        /// 修改记录
        /// </summary>
        public void UpdateRecord(Demo1Entity Entity)
        {
            try
            {
                dal.BeginTransaction();
                dal.UpdateEntity(Entity);
                dal.Commit();
            }
            catch
            {
                dal.Rollback();
            }
        }

        /// <summary>
        /// 删除记录
        /// </summary>
        public void DeleteRecord(Demo1Entity Entity)
        {
            try
            {
                dal.BeginTransaction();
                dal.DeleteEntity(Entity);
                dal.Commit();
            }
            catch
            {
                dal.Rollback();
            }
        }
    } // ClassEnd
}


List.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Demo1.Demo1
{
    public partial class List : System.Web.UI.Page
    {
        #region 用户ID属性
        public string UserID
        {
            get
            {
                string m_UserID = "";
                if (Request.QueryString["UserID"] != null)
                {
                    m_UserID = Request.QueryString["UserID"].ToString();
                }
                return m_UserID;
            }
        }
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                Bind();
            }
            if (UserID != "")
            {
                DeleteRecord();
            }
        }

        /// <summary>
        /// 绑定数据
        /// </summary>
        private void Bind()
        {
            BllDemo1 bllDemo1 = new BllDemo1();
            this.GridView1.DataSource = bllDemo1.LoadListData();
            this.GridView1.DataBind();
        }

        /// <summary>
        /// 删除记录
        /// </summary>
        private void DeleteRecord()
        {
            BllDemo1 bllDemo1 = new BllDemo1();
            Demo1Entity Entity = new Demo1Entity();
            Entity.UserID = UserID;
            if (bllDemo1.LoadRecod(Entity))
            {
                bllDemo1.DeleteRecord(Entity);
                Response.Redirect("List.aspx");
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("Admin.aspx");
        }
    } //Class End
}


Admin.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Demo1.Demo1
{
    public partial class Admin : System.Web.UI.Page
    {
        #region 用户ID属性
        public string UserID
        {
            get
            {
                string m_UserID = "";
                if (Request.QueryString["UserID"] != null)
                {
                    m_UserID = Request.QueryString["UserID"].ToString();
                }
                return m_UserID;
            }
        }
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                if (UserID != "")
                {
                    LoadData();
                }
            }
        }

        private void LoadData()
        {
            Demo1Entity Entity = new Demo1Entity();
            Entity.UserID = UserID;
            BllDemo1 bllDemo = new BllDemo1();
            if (bllDemo.LoadRecod(Entity))
            {
                txtUserName.Text = Entity.UserName;
                txtSex.Text = Entity.Sex;
            }
            else
            {
                Response.Write("记录不存在!");
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Demo1Entity Entity = new Demo1Entity();
            BllDemo1 bllDemo = new BllDemo1();
            if (UserID != "")
            {
                Entity.UserID = UserID;
                bllDemo.LoadRecod(Entity);
            }
            Entity.UserName = txtUserName.Text;
            Entity.Sex = txtSex.Text;
            if (UserID != "")
            {
                bllDemo.UpdateRecord(Entity);
            }
            else
            {
                bllDemo.AddRecord(Entity);
            }
            Response.Redirect("List.aspx");
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            Response.Redirect("List.aspx");
        }
    }
}

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3