【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)

如需要本示例的完整源代码(包括数据库)如下,直接按示例套用就行,很方便新人学习和实操练习:
【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台、后台Model-BLL-DAL的源代码和数据库-C#文档类资源-CSDN下载项目分为数据库和项目源代码,本人已运行,并实测,如果下载后出现问题,可以联系我WX:csj13103更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/dxnn520/86400441一、获取数据库中某一条记录字段的值

1、数据库中的新建一个表CSJ

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第1张图片

2、分别创建五个文件

(1)、Controllers中添加【CsjController.cs】和View中【Index.cshtml

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第2张图片

CsjController.cs页面代码

using System;
using System.Collections.Generic;
using CityCard.Web.Admin.Model;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using System.Web;
using System.Drawing;
using System.Net;  //LoginType 需要

namespace CityCard.Web.Admin.Controllers
{
    public class CsjController : Controller
    {
        public ActionResult Index()
        {
             var Bll_User = new CityCard.Web.Admin.BLL.Csj();   
             ViewData["User"] = Bll_User.Get_FieldValue("关羽") ; // 获取姓名等于关羽的记录
            return View();
        }

    }
}

Index.cshtml页面代码

@{
    var user1 = ViewData["User"] as CityCard.Web.Admin.Model.Csj;
    Layout = null; // 不显示默认加载的页面
}

--- 从数据表中读取一条记录中各字段的值 ---

编号:@Html.Raw(user1.ID)

姓名:@Html.Raw(user1.Name)

年龄:@Html.Raw(user1.Old)

(2)、BLL增加csj.cs(业务逻辑层,程序实现逻辑)

csj.cs页面代码

using System;
using System.Data;
using System.Collections.Generic; 
using CityCard.Web.Admin.Model;
using System.Collections.Specialized;
namespace CityCard.Web.Admin.BLL
{
    /// 
    /// Sys_Employee
    /// 
    public partial class Csj
    {
        private readonly CityCard.Web.Admin.DAL.Csj dal = new CityCard.Web.Admin.DAL.Csj();
        public Csj()
        { }
        #region BasicMethod

        public CityCard.Web.Admin.Model.Csj Get_FieldValue(string Code)
        {
            return dal.Get_FieldValue(Code); // 
        }

        #endregion BasicMethod
    }
}

(3)、Model增加Csj.cs(数据表类,映射数据库表结构)

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第3张图片

csj.cs页面代码

using System;
using Dapper.Contrib.Extensions;
namespace CityCard.Web.Admin.Model
{
    [Serializable]
    [Table("[Csj]")]
    public partial class Csj
    {
        public Csj()
        {
        }
        #region Model
        private int _id;
        private string _name;
        private int _old;
        public int ID
        {
            set { _id = value; }
            get { return _id; }
        }
        public string Name
        {
            set { _name = value; }
            get { return _name; }
        }
        public int Old
        {
            set { _old = value; }
            get { return _old; }
        }
        #endregion Model
    }
}

(4)、DAL增加Csj.cs(数据库操作命令层)

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第4张图片

using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using System.Collections.Specialized;
using CodeMagic.DBUtility;
using System.Linq;
using System.Collections.Generic;

using CityCard.Common.Extensions;//ToMD5需要

namespace CityCard.Web.Admin.DAL
{
    /// 
    /// 数据访问类:User
    /// 
    public partial class Csj
    {
        public Csj()
        { }
        #region BasicMethod
        public CityCard.Web.Admin.Model.Csj Get_FieldValue(string Code)
        {
            var query = "select * from Csj where Name=@Code";
            return DbHelperSQL.Query(query, new { Code = Code }).FirstOrDefault();
        }

        #endregion
    }
}

二、获取数据库中所有记录字段的值

1、数据库中的新建一个表CSJ

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第5张图片

2、分别创建五个文件

(1)、Controllers中添加【CsjController.cs】和View中【Index.cshtml

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第6张图片

CsjController.cs页面代码

using System;
using System.Collections.Generic;
using CityCard.Web.Admin.Model;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using System.Web;
using System.Drawing;
using System.Net;  //LoginType 需要

namespace CityCard.Web.Admin.Controllers
{
    public class CsjController : Controller
    {
        public ActionResult Index()
        {
             var Bll_User = new CityCard.Web.Admin.BLL.Csj();   
              ViewData["UserAll"] = Bll_User.GeTabletAll("1", "关羽");  // 获取表的所有记录
            return View();
        }

    }
}

Index.cshtml页面代码

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第7张图片

@{
    //var user1 = ViewData["User"] as CityCard.Web.Admin.Model.Csj;
    Layout = null; // 不显示默认加载的页面
    var UserAll = ViewData["UserAll"] as List;
}

编号|姓名|年龄

@foreach (var item in UserAll) {

@item.ID|@item.Name|@item.Old

}

(2)、BLL增加csj.cs(业务层)

csj.cs页面代码

using System;
using System.Data;
using System.Collections.Generic; 
using CityCard.Web.Admin.Model;
using System.Collections.Specialized;
namespace CityCard.Web.Admin.BLL
{
    /// 
    /// Sys_Employee
    /// 
    public partial class Csj
    {
        private readonly CityCard.Web.Admin.DAL.Csj dal = new CityCard.Web.Admin.DAL.Csj();
        public Csj()
        { }
        #region BasicMethod

        public List GeTabletAll(string Code, string m_name)
        {
            return dal.GeTabletAll(Code,m_name);
        }
        #endregion BasicMethod
    }
}

(3)、Model增加Csj.cs(数据表结构)

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第8张图片

csj.cs页面代码

using System;
using Dapper.Contrib.Extensions;
namespace CityCard.Web.Admin.Model
{
    [Serializable]
    [Table("[Csj]")]
    public partial class Csj
    {
        public Csj()
        {
        }
        #region Model
        private int _id;
        private string _name;
        private int _old;
        public int ID
        {
            set { _id = value; }
            get { return _id; }
        }
        public string Name
        {
            set { _name = value; }
            get { return _name; }
        }
        public int Old
        {
            set { _old = value; }
            get { return _old; }
        }
        #endregion Model
    }
}

(4)、DAL增加Csj.cs(数据库操作命令层)

【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)_第9张图片

using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using System.Collections.Specialized;
using CodeMagic.DBUtility;
using System.Linq;
using System.Collections.Generic;

using CityCard.Common.Extensions;//ToMD5需要

namespace CityCard.Web.Admin.DAL
{
    /// 
    /// 数据访问类:User
    /// 
    public partial class Csj
    {
        public Csj()
        { }
        #region BasicMethod
        public List GeTabletAll(string Code,string m_name)
        {
            var query = "select * from Csj where Id>@Code and Name=@m_name";
            return DbHelperSQL.Query(query, new { Code = Code, m_name= m_name }).ToList();
        }

        #endregion
    }
}

你可能感兴趣的:(2.【Asp.Net】,9.【c#】,数据库,ASP.net,MVC,三层架构)