用的是VS2012旗舰版,数据库是VS2012集成的数据库。
最开始接触.net时用的是手动绑定数据库:
方法一:
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\ASP.NET\shoudonglianjieshujuku\App_Data\Database.mdf;Integrated Security=True";
con.Open();
或者前两行可以合写到一起:
方法二:
SqlConnection con= new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\ASP.NET\shoudonglianjieshujuku\App_Data\Database.mdf;Integrated Security=True");
con.Open();
但是相信大家也看出来了,方法一和二的区别不大。
而且,如果数据库地址发生变化,需要更改所有手动绑定数据库的代码,这是十分麻烦的。
推荐的是下面的方案,将数据库地址放到配置文件web.config文件中,然后封装一个类来初始化SqlConnection对象。
方法三:
SqlConnection con2 = DB.creatDB();
con.Open();
下面就来说下,具体是怎么实现的。
这是网站的文件结构图:
详细步骤:
1、添加新项,类,命名为DB.cs,确定。就会自动生成App_Code文件夹,以及下面的DB.cs文件
2、添加新项,Sql Server数据库,默认命名,确定后就会自动生成App_Data文件夹,以及下面的Database.mdf和Database_log.ldf
3、双击打开Web.config,在<configuration></configuration>之间的任意位置,添加下列代码:
<connectionStrings>
<add name="sqlstr" connectionString="实际数据库地址;Integrated Security=True"/>
</connectionStrings>
将高亮显示部分替换为实际的数据库地址即可。
4、双击打开App_Code下的DB.cs文件,这是DB.cs文件中的所有代码,我已经将它粘在下面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// DB 的摘要说明
/// </summary>
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlConnection createDB()
{
string sqlstr = System.Configuration.ConfigurationManager.ConnectionStrings["sqlstr"].ToString(); //获取Web.config中数据库的地址
return new SqlConnection(sqlstr); //返回 new SqlConnection(数据库地址)
}
}
红色高亮部分是添加的内容。
至此,就全部大工告成。以后连接数据库就可以直接用方法三了,而且就算将来数据库位置发生改变,只需要更改步骤3中的数据库地址就可以了。