asp.net DbProviderFactory的使用-示例

 更新时间:2009年11月26日 01:34:54   作者:  
NET 2.0有一个抽象工厂模式的典型应用:通过DBProviderFactory 可以对不同数据库进行操作。
复制代码 代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Data.Common;

/// <summary>
/// OrderInfoConfiguration 的摘要说明
/// </summary>
public class OrderInfoConfiguration
{
private const string connectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\TutorialSampleCodeProjects\xtreme.mdb";
private const string queryString="SELECT a.[Order Date] AS 订单时间,a.[Order ID] AS 订单号,b.[Last Name]+\" \"+b.[First Name] AS 员工姓名,c.[Customer Name] AS 客户姓名,d.[Product Name] AS 产品名 FROM Orders a,Employee b,Customer c,Product d ,[Orders Detail] e WHERE a.[Employee ID]=b.[Employee ID] AND a.[Customer ID]=c.[Customer ID] AND a.[Order ID]=e.[Order ID] AND e.[Product ID]=d.[Product ID]";

public static DataSet OrderInfoDataSet
{
get
{
DataSet dataSet = new DataSet();

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); //获取工厂
DbConnection con = factory.CreateConnection();//创建连接
con.ConnectionString = connectionString;
DbCommand cmd = factory.CreateCommand();//创建命令
cmd.CommandText = queryString;
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
DbDataAdapter dapter = factory.CreateDataAdapter();//创建适配器
dapter.SelectCommand = cmd;
dapter.Fill(dataSet);//填充

return dataSet;
}
}

public OrderInfoConfiguration()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); //获取工厂 这句就可以获得一个工厂,用这个工厂就可发生产该数据提供程序的各种对象了。

如果是连接

SqlServer:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
Oracle:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
ODBC:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.Odbc");

使用了这个,要是想换个数据库,是不是很方便了呢?呵呵。

相关文章

  • xUnit 编写 ASP.NET Core 单元测试的方法

    xUnit 编写 ASP.NET Core 单元测试的方法

    这篇文章主要介绍了xUnit 编写 ASP.NET Core 单元测试的方法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • c#中两种不同的存储过程调用与比较

    c#中两种不同的存储过程调用与比较

    存储过程的调用在B/S系统中用的很多。传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护。新的方法在一定程度上解决了这些问题
    2012-12-12
  • 使用Aspose.Cells组件生成Excel文件实例

    使用Aspose.Cells组件生成Excel文件实例

    这篇文章主要介绍了使用Aspose.Cells组件生成Excel文件的方法,大家参考使用吧
    2013-11-11
  • .NET中常见的加解密算法详解

    .NET中常见的加解密算法详解

    本文详细讲解了.NET中常见的加解密算法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 在WinForm和WPF中使用GMap.Net地图插件简单教程

    在WinForm和WPF中使用GMap.Net地图插件简单教程

    GMap.NET是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms 和WPF环境中能够使用来自Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等地图,下面看一下使用方法
    2013-12-12
  • asp.net 动态生成控件并获取其值

    asp.net 动态生成控件并获取其值

    代码比较简单,所以不多做解释了:
    2009-02-02
  • asp.net中eval不能定义变量的问题的解决方法

    asp.net中eval不能定义变量的问题的解决方法

    eval不能定义变量的问题该怎么办,下面有个不错的解决方法,大家可以参考下
    2013-12-12
  • .NET HttpClient简单使用教程

    .NET HttpClient简单使用教程

    SpringCloud中服务和服务之间的调用全部是使用HttpClient,还有前面使用SolrJ中就封装了HttpClient,在调用SolrTemplate的saveBean方法时就调用HttpClient技术。接下来通过本文给大家介绍.net HttpClient简单使用教程,需要的朋友可以参考下
    2021-11-11
  • ASP.NET Core应用错误处理之三种呈现错误页面的方式

    ASP.NET Core应用错误处理之三种呈现错误页面的方式

    这篇文章主要给大家介绍了关于ASP.NET Core应用错误处理之三种呈现错误页面的方式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 关于ASP.NET页面打印技术的常用方法总结

    关于ASP.NET页面打印技术的常用方法总结

    B/S结构导致了Web应用程序中打印的特殊性;程序运行在浏览器中,打印机在本地,而文件确可能在服务器上,导致了打印控制不是很灵活,接下来介绍几种常见的打印技术,感兴趣的朋友可以了解下
    2013-01-01

最新评论