ASP.NET MVC4数据库操作实例

之前文章介绍了MVC4与Pure框架结合进行的网页设计过程中如何定义控制器、方法、模型、视图等。并使用实例进行了简单说明。本文将在此基础上进一步说明如何使用MVC4实现与数据库的连接,并实现数据查询操作。


数据库设计

本例以关系型数据库管理系统SQL Server2012为例进行数据库及数据表设计。案例设计数据库名称为头条toutiao,数据表名称stuinfor,用于实现学生信息的存储与管理。其中数据表设计结构主要包括学生编号、姓名、出生日期、性别、成绩、电话等字段。表结构与描述如下图:

数据表设计结构

为测试数据查询操作,在完成数据表定义之后,录入了部分数据,数据共5条,内容展示如下图所示:

测试用数据


数据库操作类定义

在MVC下实现数据库操作,方法较多,一般可以使用Entity Framework数据库访问框架或者ADO.NET技术实现。本文设计使用ADO.NET技术实现数据库的连接与访问,可以更加深入了解数据库相关知识。因此在ADO.Net基础上,进一步通过类实现对相关操作进行抽象与封装。后期在数据操作业务扩展时,可直接为该类增加新的方法即可。本例设计数据库类MyAdo.cs,初步实现数据库连接方法、数据库连接关闭、数据查询、数据更新、数据删除等操作。该类主要属性描述如下:

自定义数据库操作类属性

自定义数据库操作类属性主要包括连接对象conn,命令对象cmd,数据读取对象dr及命令操作连接与填充对象da。该类定义部分方法描述如下:

1、数据库连接方法

数据库连接方法主要用于实现程序与数据库的连接,其连接关键为数据库连接字符串。该方法定义描述如下:

数据库连接方法

数据库连接方法描述如上图,连接成功返回1,连接失败返回0。连接成功之后我们即可使用T-SQL语句实现对数据的增删改查操作。

2、数据查询操作函数

数据查询操作函数主要用于实现数据查询操作,通过控制器传递的查询参数,执行查询并将查询结果存储到DataSet对象中。无参数查询及参数查询操作函数定义描述如下:

数据查询操作函数(带参数)

简单查询(不带参数)

数据查询操作函数描述如上所示,具体使用时需要控制器传递,带参数时需要查询字符串sql,命令类型type及参数数组等。由于篇幅限制其他方法不再一一说明。完整类如下图:

完整自定义数据库操作类


MVC实现数据查询

在定义完数据库类之后,可以以MVC框架为基础,实现数据库的查询操作。本例设计请求命令为Home/GetDb。在Home控制器下编写GetDb方法实现业务逻辑处理。并将处理结果传递给View视图进行输出显示。其中GetDb方法描述如下图所示:

简单查询实现方法

简单信息查询实现方法描述如上图,函数首先实例化了业务逻辑模型MyAdo,进而调用ado对象的方法完成数据查询并将查询结果写入ds,通过ViewData将结果记录集传递给对应视图,进行输出显示。视图基本结构定义主要使用所提供的模板实现,具体实现过程在该文尾部连接文章中。视图关键部分是使用表格对记录集中的数据进行输出显示。记录集输出显示部分代码描述如下图:

表格形式对记录集数据进行显示


效果展示

在完成数据库创建、测试数据录入及MVC模型编码实现之后,可以测试所编写的Web程序是否能够实现数据的展示功能。在Visual Studio Express环境中选择测试浏览器进行Debug调试运行。本案例页面最终运行效果如下图:

测试效果


本文以MVC设计模式为基础,使用ASP.NET提供的MVC及ADO.NET技术编写页面实现了数据库连接及数据的查询操作,并对实例进行了说明与分析。本案例提供代码参考,请关注后私信。


本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。如果您对以上方面有兴趣或代码错误、建议与意见,可在评论区回复。更多程序设计相关教程及实例分享,期待大家关注与阅读!相关文章链接如下:

Web程序设计-基于Pure前端框架的ASP.NET MVC4设计实例

Web程序设计-MVC设计模式分析

.ne中的控制器循环出来的数据如何显示在视图上_Web程序设计-ASP.NET MVC4数据库操作实例...相关推荐

  1. .ne中的控制器循环出来的数据如何显示在视图上_【asp.net core 系列】3 视图以及视图与控制器...

    0.前言 在之前的几篇中,我们大概介绍了如何创建一个http://asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元.这一篇我们将介绍一下控制器与视图直接的关系. 1. ...

  2. .ne中的控制器循环出来的数据如何显示在视图上_让不懂编程的人爱上iPhone开发系列2 iOS12+Swift4.2版-Checklists-16...

    让不懂编程的人爱上iPhone开发系列2 iOS12+Swift4.2版-Checklists-16 添加导航栏按钮 说明: 本系列教程改编自raywenderlich.com中的iOS Appren ...

  3. seaborn使用violinplot函数可视化小提琴图、并在violinplot函数中设置inner参数来添加数据点显示数据的稠密程度

    seaborn使用violinplot函数可视化小提琴图.并在violinplot函数中设置inner参数来添加数据点显示数据的稠密程度(Seaborn violinplot with data po ...

  4. Delphi中多线程用Synchronize实现VCL数据同步显示

    概述: VCL实现同步的另一种方法就是调用线程类的Synchronize的过程,此过程需要一个无参数的procedure,故在此procedure中无法传递参数值,但可以通过类的成员来实现.在类的Ex ...

  5. 关于后端数据无法显示在页面上的问题

    问题出现:数据无法显示在页面上的问题 ,jsp中EL表达式在前端页面里被视为文本内容而显示出来 原因分析:可能是xml配置问题,不支持EL表达式 web.xml内容如下: <!DOCTYPE w ...

  6. 编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。

    编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上. package p1;import java.io ...

  7. mybatis insert 插入数据,显示执行成功,但未真正插入到数据库中

    (1)通过mybatis插入数据库,插入数据,显示插入成功,查询数据库,发现并未插入成功.通过日志可看到原因为:插入的语句回滚连接数据库了,导致插入失败. (2)应加入commit语句,手动执行提交事 ...

  8. 在ASP.NET中使用ListView控件对数据进行显示、分页和排序

    最终效果图如下所示: 使用ListView控件是不需要写代码的,下面我们来看一下ListView的操作流程: 1.首先新建一个ASP窗体 2.然后拖入一个ListView和一个SqlDataSourc ...

  9. 大数据——MySQL数据库操作实例

    大数据--四种数据库(MySQL,HBase,MongoDB,Redis)操作实例 问题描述: Student学生表 1. 根据上面给出的表格,利用MySQL5.7设计出student学生表格; a) ...

最新文章

  1. 解决eclipse project前出现红色感叹号 但没有提示错误出在什么地方build path jar包也没报错...
  2. pictrue获取图片的三种方式
  3. [BZOJ3668][Noi2014]起床困难综合症 贪心
  4. 深入理解Hadoop集群和网络
  5. 面向对象——案例练习(3)判断两个立方体是否相等
  6. 使用Turi Create训练核心ML模型以对犬种进行分类
  7. 问题:org.apache.dubbo.remoting.TimeoutException
  8. [SDOI2007] 单词接龙游戏 dp
  9. java修饰方法_java接口中方法、属性修饰符详解
  10. python调用sqlplus执行_python可以调用sqlplus吗?
  11. 前端相关书籍(转摘)
  12. 从物理页面的争抢看linux内核内存管理
  13. web开发规范 - html书写规范
  14. oracle dbv验证,Oracle DBV工具说明
  15. 度分秒在线计算机,科学计算器在线计算
  16. 神仙打架!清华公布2020特奖候选人名单,有人三篇顶会一作,还有人...
  17. 参数数量可变的方法 - Java
  18. python中jieba分词,并输出词云(基础版)
  19. 郑州大学现代远程教育《商务礼仪》课程考核作业要求院校通智慧校园
  20. 微信营销的技巧有哪些 微信营销取名的禁忌 微信内容写作的七个要点

热门文章

  1. 人工智能及其应用(第5版).蔡自兴-2章课后习题。【参考答案】
  2. 2007年上半年 网络工程师 上下午试卷【附带答案】
  3. 收藏 | 图像识别的可视化解释神经网络
  4. 12个深度学习面试问题
  5. 使用Numpy实现PCA
  6. MATH6005 Final Assignment MATH6005 2018-19
  7. 【译】理解Javascript函数执行—调用栈、事件循环、任务等
  8. ListBox滚动条置底
  9. HBASE强制删除表
  10. SharePoint 2013 处理videoplayerpage.aspx下的个人图片显示有误问题