ADO.NET 连接数据库的另一种方法(通过配置文件和基类转化,适用于后期维护)
2015-01-09 09:15
706 查看
本文参考C#高级编程(第七版)30.2
首先是书上一个简单的数据库连接的demo
将数据库的的配置信息放到配置文件(app.config)中,如下
如果出现 ConnectionStringSettings 无法识别的情况,需要在解决方案的那里引用一个System.Configuration
那么新的数据库操作方式就是
首先是书上一个简单的数据库连接的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; } } } }
相关文章推荐
- ASP.NET通过配置Web.config文件提高手动绑定数据库效率的一个简单方法,不用每次手动连接数据库地址,或者数据库地址变更时只改一处即可。
- ADO.net通过配置文件操作连接字符串
- C#连接数据库的新方法(通过web.config配置文件)
- asp.net通过配置文件连接Access的方法
- asp.net 2.0 的数据库的连接类(通过配置文件读连接串)
- C#连接数据库的新方法(通过web.config配置文件)
- C#连接数据库的新方法(通过web.config配置文件)
- (4)C#之ADO.NET 将数据库连接字符串成放入配置文件中
- ado.net将数据库连接字符串放入配置文件中
- asp.net通过配置文件连接Access的方法
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- 轻松得到适用于C# ADO.NET的各种数据库连接字符串
- ADO.NET连接数据库方法和类型
- VC++中使用MFC通过ADO连接数据库方法小结
- ASP.NET数据库连接字符串写在config.web配置文件中(1)
- ASP.NET数据库连接字符串写在config.web配置文件中(2)
- ASP.NET配置(web.config)无法连接到SQL Server 数据库的解决方法
- 关于在英创em9161板上使用ADO.net连接远程数据库提示 “无法找到 PInvoke dll"dbnetlib.dll"”问题解决方法
- ASP.NET-ASP.NET配置(web.config)无法连接到SQL Server 数据库的解决方法