【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台和后台Model/BLL/DAL)
2023-09-11 14:15:10 时间
如需要本示例的完整源代码(包括数据库)如下,直接按示例套用就行,很方便新人学习和实操练习:
【asp.net】MVC中通过三层架构获取数据库值的示例(包括CSHTML前台、后台Model-BLL-DAL的源代码和数据库-C#文档类资源-CSDN下载项目分为数据库和项目源代码,本人已运行,并实测,如果下载后出现问题,可以联系我WX:csj13103更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/dxnn520/86400441一、获取数据库中某一条记录字段的值
1、数据库中的新建一个表CSJ
2、分别创建五个文件
(1)、Controllers中添加【CsjController.cs】和View中【Index.cshtml】
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; // 不显示默认加载的页面
}
<h2>--- 从数据表中读取一条记录中各字段的值 --- </h2>
<h2> 编号:@Html.Raw(user1.ID) </h2>
<h2> 姓名:@Html.Raw(user1.Name) </h2>
<h2> 年龄:@Html.Raw(user1.Old) </h2>
(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
{
/// <summary>
/// Sys_Employee
/// </summary>
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(数据表类,映射数据库表结构)
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(数据库操作命令层)
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
{
/// <summary>
/// 数据访问类:User
/// </summary>
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<CityCard.Web.Admin.Model.Csj>(query, new { Code = Code }).FirstOrDefault();
}
#endregion
}
}
二、获取数据库中所有记录字段的值
1、数据库中的新建一个表CSJ
2、分别创建五个文件
(1)、Controllers中添加【CsjController.cs】和View中【Index.cshtml】
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页面代码
@{
//var user1 = ViewData["User"] as CityCard.Web.Admin.Model.Csj;
Layout = null; // 不显示默认加载的页面
var UserAll = ViewData["UserAll"] as List<CityCard.Web.Admin.Model.Csj>;
}
<h2>编号|姓名|年龄</h2>
@foreach (var item in UserAll)
{
<h2>@item.ID|@item.Name|@item.Old</h2>
}
(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
{
/// <summary>
/// Sys_Employee
/// </summary>
public partial class Csj
{
private readonly CityCard.Web.Admin.DAL.Csj dal = new CityCard.Web.Admin.DAL.Csj();
public Csj()
{ }
#region BasicMethod
public List<CityCard.Web.Admin.Model.Csj> GeTabletAll(string Code, string m_name)
{
return dal.GeTabletAll(Code,m_name);
}
#endregion BasicMethod
}
}
(3)、Model增加Csj.cs(数据表结构)
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(数据库操作命令层)
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
{
/// <summary>
/// 数据访问类:User
/// </summary>
public partial class Csj
{
public Csj()
{ }
#region BasicMethod
public List<CityCard.Web.Admin.Model.Csj> GeTabletAll(string Code,string m_name)
{
var query = "select * from Csj where Id>@Code and Name=@m_name";
return DbHelperSQL.Query<CityCard.Web.Admin.Model.Csj>(query, new { Code = Code, m_name= m_name }).ToList();
}
#endregion
}
}
相关文章
- 学习ASP.NET Core Razor 编程系列十一——把新字段更新到数据库
- 学习ASP.NET Core Razor 编程系列六——数据库初始化
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动
- ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
- 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式
- .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了 [WPF]为旧版本的应用添加触控支持 js css等静态文件版本控制,一处配置多处更新.net版【原创】 C#图片处理,缩略图制作 SqlDataReader 结果集 转成 DataTable DataTable转成List集合 如何使用linq读取DataTable集合?
- SQL 横转竖 、竖专横 (转载) 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 C# 读取PDF多级书签 Json.net日期格式化设置 ASPNET 下载共享文件 ASPNET 文件批量下载 递归,循环,尾递归 利用IDisposable接口构建包含非托管资源对象 《.NET 进阶指南》读书笔记2------定义不可改变类型
- MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- .NET(C#)连接各类数据库
- ASP.NET+d3.js实现Sqlserver数据库的可视化展示
- 九、.net core用orm继承DbContext(数据库上下文)方式操作数据库
- VB.NET与 sql数据库
- 微软ASP.NET网站部署指南(9):部署数据库更新
- [.NET]c#.net程序中使用ffmpeg.exe来处理视频并生成上传视频的截图