项目开始 第一天 (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的方法里进行的测试


这个方法返回一个字符串,打开相应的页面就会显示  从数据库中取到的值. 

完结~




1 0
原创粉丝点击