接口在ADO.NET中的应用

来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:25 点击:

当我们在连接MSSQLSEVER的时候,一般都是  SqlConnection con = new SqlConnection(ConStr);这样的格式格式来创建连接字符串的,

这是时候我们我们似乎感觉他很方便。但是突然那一天你的老板给你给一个Oracle的备份数据库,你是不是还要 OracleConnection con= new OracleConnection(conStr);又突然老板突发奇想,觉得数据量也不大,而且ACCESS2010还蛮潮流的,你给我换成ACCESS要我哪里都可以直接打开,你是否又要OleDbConnection conn = new OleDbConnection(conStr);刚做好了突然老板说客户需要DB2了,这孩子终于按耐不住了,这不是折腾人么#·¥%&¥……

于是乎,他就想了想.NET的思想就是提供统一的规范化来管理一切对象,那么我们就来追踪一下本源,从源头上来解决问题

他就开始这样查看:

 \

 


他发现IDbConnection接口已经提供了我们通常所需要的基本的方法。
看到这里他想到了利用类型转化(将一个接口变量指向实现接口的类的一个实例,当然这个也可以书面的第一位隐式转化的部分内容)
那么我还需要这样:
  OleDbConnection Code
 
1 // Assumes connectionString is a valid connection string.
2 using (OleDbConnection connection =
3   new OleDbConnection(connectionString))
4 {
5     connection.Open();
6     // Do work here.
7 }
 
或者:
  OdbcConnection Code
 
1 // Assumes connectionString is a valid connection string.
2 using (OdbcConnection connection =
3   new OdbcConnection(connectionString))
4 {
5     connection.Open();
6     // Do work here.
7 }
 
或者:
  OracleConnection Code
 
 1 // Assumes connectionString is a valid connection string.
 2
 3 using (OracleConnection connection =
 4
 5   new OracleConnection(connectionString))
 6
 7 {
 8
 9     connection.Open();
10
11     // Do work here.
12
13 }
14
15 OracleConnection nwindConn = new OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;");
16
17 nwindConn.Open();
 
 
事实证明完全可以省略这些繁琐的步骤。
我们现在只需要这样:
IDbConnection conn= new OracleConnection(conStr);
IDbConnection conn= new new OleDbConnection(conStr);
IDbConnection conn= new SqlConnection(ConStr);
是不是感觉依旧繁琐呢,因为先还没有直观的展示给大家,现在我们就上代码,来展示下他的优点:
 
 1 using System;
 2 using System.Configuration;
 3 using System.Data.OleDb;
 4 using System.Data;
 5 using System.Data.SqlClient;
 6 using System.Data.OracleClient;

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET GridView列表代码示例
  • Asp.net MVC源码分析--Action Filter的链式调用
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1