项目开始 第一天 (MVC模式 数据库连接)
来源:互联网 发布:战斗吧剑灵刻印数据 编辑:程序博客网 时间:2024/06/01 08:05
介绍一下情况.没有c#的基础,也不会.net开发.面向搜索引擎编程.之前学过java.
记录一下在做项目过程中的自己认为比较重要的地方和遇到的困难,,方便理解,加深印象.如果能帮到其他和我一样的小白那就太好了~
今天的两个目标已经完成. 熟悉MVC的具体结构,如何进行请求和传递数据. 数据库的连接 数据库用的是 sql server 2008
首先用 VS2010 创建了一个 MVC3 的 demo.
下面是文件结构
MVC 分别对应红色箭头所指的三个文件夹.
Controllers对应的是控制器.
控制器的作用是转发请求.当在View(也就是浏览器所在页面)发生请求(比如点击表单的提交按钮,或者a标签)时,传递到相应的controller.
这个感觉还是很方便的,一个controller,比如HomeController,必须在Views文件夹下面对应一个Home文件夹,里面有cshtml页面.
可以简单的把cshtml页面理解为和JSP一样的东西,经过引擎渲染最后也会变成html的形式.
上图中 Home文件夹中包含两个cshtml文件,分别是About和Index,命名是根据,HomeController代码中的方法所对应的.
下面上代码图. 这是HomeController的代码. 里面包含两个方法, 分别是Index和About 所以就会有相对应的文件.
当请求跳转到HomeController控制器中,具体返回哪一个页面,就看你调用的哪个方法.调用Index方法,就返回Index.cshtml页面,当然,这必须是在Home文件夹下的页面
Hello文件夹下面也有一个Index的页面,它的控制器里也会对应一个Index的方法. 当然,也可以返回任意的一个页面,再次不做多介绍.只是简单介绍MVC是如何进行交互.
MVC就暂时了解到这里,下面是数据库的连接.
首先,现在sql server中创建相应的数据库
然后在VS中的工具
进行连接, 服务器的名字可以这样填,就是本地的地址. 前提是要把sql server的服务打开,不然连接会失败.
然后点确定就完成啦!!左边就会出现如图所示的 服务器资源管理
右键这个数据库的属性,把连接字段复制粘贴,粘贴到 Web.config 文件中, 也就是自带的配置文件
然后打开Web.config
大功告成!!
然后就是写一个类,测试连接数据库是否成功
记得在类中导入包
//连接数据库需要的包 不加不好使using System.Data;using System.Data.SqlClient;using System.Configuration; public class SqlDB { protected SqlConnection conn; //创建连接对象 //打开连接 public bool OpenConnection() { conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);//好像是按照配置来连接 try { bool result = true; if (conn.State.ToString() != "Open") //查看数据库连接状态 是否已连接 { conn.Open(); //未连接 就连接 } return result; } catch (SqlException ex) { return false; } } //关闭连接 public bool CloseConnection() { try { conn.Close(); return true; } catch (Exception ex) { return false; } }
}连接就是这样了, 然后在一个 Controller中加入这个类, 调用一下方法来测试,是否连接成功
创建一个 此类的对象, 调用OpenConnection方法, 会返回一个布尔值, 然后赋值给ViewBag.Message, 返回一个页面,页面中就会显示相应结果.
然后就连接好啦!
后面自己测试了一下查询数据库中的内容
大致的思路就是
创建一个数据库命令的对象 cmd
设置这个对象 命令的具体内容 也就是 CommandText属性
然后执行 ExecuteReader方法 获得一个 读对象SqlDataReader
后面就可以自由发挥了...想怎么搞就怎么搞
public List<string> SelectData() { try { SqlCommand cmd = conn.CreateCommand(); //创建一个命令 cmd.CommandText = "SELECT * FROM FFTX_User"; //写SQL语句 SqlDataReader reader = cmd.ExecuteReader(); //执行 来进行读取 List<string> l = new List<string>(); //这里应该是相应的实体类, 比如我这里的泛型中应该填User类 while (reader.Read()) { string name = reader.GetString(reader.GetOrdinal("user_name")); //为了简单起见, 只获取用户名测试 l.Add(name);//把获取的值 保存到一个 list中 在Controller中调用此方法, 可以获得一个存有数据的 list } return l; } catch (Exception ex) { return new List<string>(); } }
下面是在一个 Controller的方法里进行的测试
这个方法返回一个字符串,打开相应的页面就会显示 从数据库中取到的值.
完结~
- 项目开始 第一天 (MVC模式 数据库连接)
- 项目第一天开始试运行
- 第一天开始
- 第一天开始
- 第一天开始
- 第一天开始
- 第一天开始
- 创业开始第一天
- 开始博客第一天
- 开始的第一天
- 正式开始第一天
- 博客开始第一天
- 第一天开始
- 今天开始第一天项目管理师的学习
- 开始汇编的第一天。。
- 第一天开始使用Blog
- 第一天开始用博客
- 第一天 从恐惧开始
- 2017年4月12日工作日记
- Hadoop2.7.1 mapreduce in c++ 词频统计
- 哈希算法---Snowflake Snow Snowflakes
- HTTP状态码
- IntelliJ IDEA——SVN的配置及使用
- 项目开始 第一天 (MVC模式 数据库连接)
- hdu 1166 敌兵布阵(基础树状数组)(基础线段树--单点更新)
- ZOJ1217解决方法及思路
- POJ 3258 River Hopscotch(二分)
- 宏与函数的对比
- OPENCV创建标定板的几种方法
- 计蒜客
- 自定义连接池
- pandas string转dataframe