asp.net 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"); 使用了这个,要是想换个数据库,是不是很方便了呢?呵呵 。 |