知识大全 对于使用ADO.NET通用接口创建对象

Posted

篇首语:时间铭记梦想的足迹,历史镌刻奋斗的功勋。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 对于使用ADO.NET通用接口创建对象相关的知识,希望对你有一定的参考价值。

对于使用ADO.NET通用接口创建对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  使用ADO NET通用接口的另一个好处是它能被继承用于建立强类型的DataSet 强类型DataSet的好处包括设计时的检查和强类型DataSet 的Visual Studio NET语句填充

  对于ADO NET通用接口的相关使用还是比较常见 就使用ADO NET DbProviderFactories并扩充兼容mysql我深入的研究了一下 我们现在一起来看看吧 ADO NET 为各种ADO NET类引入了一个提供程序工厂的模型以及通用基类

  ADO NET通用接口的限制 接口不易扩展 ADO NET 无法创建某些类的实例 ADO NET 无法判断可用的 NET数据提供程序 提供工厂模型如何解决上述限制 通过抽象积累来扩展ADO NET模型

  使用ADO NET DbProviderFactories类来创建对象 提供程序工厂模型的限制 许多查询结构都是数据库特有的 为参数化查询设置CommandText时 可能需要提供程序特有的代码 指定参数数据类型可能需要提供程序特有的代码 为了使开发的代码通用

  不局限于特定的数据库 本次开发中决定使用DbProviderFactory+标准SQL 以开发一个适用于mysql和 sqlserver的封装 但DbProviderFactories 并没有提供对mysql的DbProviderFactory的支持 所以需要扩充ADO NET通用接口兼容mysql 而且在 中mysql和sqlserver的ParameterMarkerFormat都有bug ADO NET通用接口所以扩展类要解决这个bug

  public static class DbProviderFactoriesEx

  

  public static DbProviderFactory GetFactory(string providerName)

  

  if (providerName == null)  throw new ArgumentNullException( providerName );

  DbProviderFactory dbFactory;  switch (providerName)

  

  case MySql Data MySqlClient :  return new MySqlClientFactory();  default:  return DbProviderFactories GetFactory(providerName);

  

  

  public static string GetParameterMarkerFormat(DbConnection connect)

  

  if (connect == null)

  throw new ArgumentNullException( connect );

  Type type = connect GetType();

  if (type == typeof(MySql Data MySqlClient MySqlConnection))

  return ? ;//mysql bug

  if (type == typeof(System Data SqlClient SqlConnection))

  return @ ;//ms bug  connect Open();

  string result = connect GetSchema( DataSourceInformation ) Rows[ ][ ParameterMarkerFormat ] ToString();

  connect Close();  return result;

  

cha138/Article/program/net/201311/11404

相关参考

知识大全 小议ADO.NET对象模型

小议ADO.NET对象模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  了解ADONET模型对

知识大全 ADO.NET对象之 DataTable

ADO.NET对象之DataTable  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ADONE

知识大全 趣味理解ADO.NET对象模型

趣味理解ADO.NET对象模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库的应用在我们

知识大全 详细介绍ADO.NET对象数据说明

详细介绍ADO.NET对象数据说明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  学习ADONE

知识大全 ADO.NET中的五个主要对象

ADO.NET中的五个主要对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Connectio

知识大全 深入分析ADO.NET中的DataSet对象

深入分析ADO.NET中的DataSet对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  AD

知识大全 新颖的ADO.NET对象使用说明

新颖的ADO.NET对象使用说明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天说到这里明天

知识大全 浅谈ADO.NET中的五个主要对象

浅谈ADO.NET中的五个主要对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ADONET对

知识大全 ado.net快速上手实践篇(一)

   这两天重温经典对的东西稍微深入的了解了一下顺便写点代码练练手全当是复习笔记吧  一简单说说的大常用对象   既然说

知识大全 ado.net快速上手实践篇(二)

五dal层数据访问实现   在这里我们使用前一篇文章里实现的数据持久化层和伪SqlMapper对象实现数据操作下面我们来看看Dal下核心的Dao如何实现 &nb