ASP.NET通过配置Web.config中数据库连接地址并封装一个类来简化数据源配置

用的是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中的数据库地址就可以了。


/*============================================================================== * * Filename: TSQLServer.cs * Description: 本次常用代码封装数据库通用访问类: * 包含以下方法: * 1.获取数据库连接字符串,创建数据库连接命令,判断数据字符数组 * 2.执行非查询ExecuteNonQuery返回受影响的行数,增加,修改,删除, * 3.执行Sql语句返回DataRow一行数据信息 * 4.执行Sql语句返回DataTable数据信息 * 5. 执行多条SQL语句,实现数据库事务。如果插入或者修改数据运用事务时候,其一行报错,将事务回滚。 * 6.在执行命令文本时后,传递sql语句运用Regex re = new Regex(@"@[a-zA-Z0-9]") 则正则表达式进行配匹, * 提高安全性。 * Version: 1.0 * Created: 2012.08.02 * Author: liangjw * Company: Copyright (C) Create Family Wealth Power By Peter * ==============================================================================*/ * 实用方法简单讲解,下面以TSQLServer.cs类为例子: 1.我们最常用的方式就是增删改查,在使用时简单方面,例如我们需要做修改一行记录需要返回DataRow一行记录 需要调用方法调用如下: public static DataRow GetRow(params object[] values) { return TSQLServer.ExecDr("select * from [tb] where id = @1", values); } 2.返回一个DataTable数据集合调用如下: public static DataTable GetTable(object[] s = null) { return TSQLServer.ExecDt("select * from [tb] ", s); } 3.更新一条数据 public static int Update(params object[] values) { return TSQLServer.ExecuteNonQuery(@"update [tb] set test1= @1,test2= @2 where id = @id", values); } 4.插入一条数据 public static int Insert(params object[] values) { return TSQLServer.ExecuteScalar(@"insert into [tb](test1,test2) values(@1,@2);SELECT @@IDENTITY",values).ToInt32(); } * 以上该文件的代码封装的类是部分代码,仅供参考 * 备注信息: 上传部分自己总结的常用方法的封装,有不足和不完美之处,希望大家指出来,愿意一起 * 学习和讨论有关asp.net mvc ,Ajax ,jquery ,,html/css,xml ,sqlserver ,wpf,IIS相关技术的交流和学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值