ADO.NET 连接数据库的另一种方法(通过配置文件和基类转化,适用于后期维护)
来源:互联网 发布:淘宝真皮皮鞋店铺 编辑:程序博客网 时间:2024/05/21 06:19
本文参考C#高级编程(第七版)30.2
首先是书上一个简单的数据库连接的demo
using System;using System.Data.SqlClient;public class ExecuteNonQueryExample{ public static void Main(string[] args) { string source = "server=(local);" + "integrated security=SSPI;" + "database=Northwind"; string select = "UPDATE Customers " + "SET ContactName = 'Bob' " + "WHERE ContactName = 'Bill'"; SqlConnection conn = new SqlConnection(source); conn.Open(); SqlCommand cmd = new SqlCommand(select, conn); int rowsReturned = cmd.ExecuteNonQuery(); Console.WriteLine("{0} rows returned.", rowsReturned); conn.Close(); }}为了方便管理连接数据库,更为了后期维护的方便。采用另外一种方式
将数据库的的配置信息放到配置文件(app.config)中,如下
<?xml version="1.0" encoding="utf-8" ?><configuration> <connectionStrings> <add name="db" providerName="System.Data.SqlClient" connectionString="server=(local)\SQLEXPRESS;integrated security=SSPI;database=test;" /> </connectionStrings></configuration>其次为了让适用于各种类型的数据库,将连接方式专门新建一个静态类,命名databases.cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.Common;using System.Configuration;namespace ConsoleApplication1{ static class databases { static public DbConnection GetDatabaseConnection(string name) { ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[name]; DbProviderFactory factory = DbProviderFactories.GetFactory(settings.ProviderName); DbConnection conn = factory.CreateConnection(); conn.ConnectionString = settings.ConnectionString; return conn; } }}
如果出现 ConnectionStringSettings 无法识别的情况,需要在解决方案的那里引用一个System.Configuration
那么新的数据库操作方式就是
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Data.Common;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { string select = "insert into person(name,sex) values('bb','sb')"; try { //返回DbConnection类型的连接,强制转换成SqlConnection类型,SqlConnection用以连接sql server数据库 using (SqlConnection conn = (SqlConnection)databases.GetDatabaseConnection("db")) { conn.Open(); SqlCommand cmd = new SqlCommand(select, conn); int rowsReturned = cmd.ExecuteNonQuery(); Console.WriteLine("{0} rows returned.", rowsReturned); conn.Close(); Console.ReadLine(); } //useing的对象在结束后会自动销毁对象。 } catch(SqlException e) { throw e; } } }}
0 0
- ADO.NET 连接数据库的另一种方法(通过配置文件和基类转化,适用于后期维护)
- ADO.NET连接数据库方法和类型
- ADO.net通过配置文件操作连接字符串
- 将数据库表结构转化为实体类(适用于vb.net和C#.net)
- asp.net 2.0 的数据库的连接类(通过配置文件读连接串)
- asp.net 2.0 的数据库的连接类(通过配置文件读连接串)
- ADO.NET连接数据库方法
- ADO.NET连接数据库方法
- Visual Basic.NET中用ADO.NET和ODBC.NET连接各种数据库的方法
- ADO.NET数据库的连接(SQL数据库的连接)
- Ado.net连接数据库查询表信息的多种方法
- ADO连接数据库的方法
- QTP中连接MySQL的方法(数据库验证点和ADO连接)
- Android布局方法-(便于后期维护)
- (一)通过ADO连接MySql数据库
- ADO.NET连接数据库
- 连接数据库Ado.net
- ADO.NET连接数据库
- 坑爹的dsfksvcs.sys
- 破解图片防盗链系统(ASP小偷代码)
- android代码中读取文件夹下的文件名
- 3 第三天【健身】
- 链表中倒数第k个节点
- ADO.NET 连接数据库的另一种方法(通过配置文件和基类转化,适用于后期维护)
- nodejs中mysql用法
- apache,重写模块学习(1)
- C++学了这么多年,你仍不知道的事!!!
- 控制屏幕方向的screenOrientation
- Android对应用的内存分配
- [乐意黎原创] 合同约定的到期某日之前履行是否包括该期日当天履行?
- Path Sum
- 报表工具FineReport排序专题