调用可移植数据访问层(二)

调用可移植数据访问层的数据接口代码如下:
using System;

using System.Data;

using System.Data.Common;

using System.Configuration;    



namespace DAL

{

   public class CustomersData

   {

      public DataTable GetCustomers()

      {

         string ConnectionString = 

            ConfigurationSettings.AppSettings

            ["ConnectionString"];

         DatabaseType dbtype = 

            (DatabaseType)Enum.Parse

            (typeof(DatabaseType),

            ConfigurationSettings.AppSettings

            ["DatabaseType"]);



         IDbConnection cnn = 

            DataFactory.CreateConnection

            (ConnectionString,dbtype);



         string cmdString = "SELECT CustomerID" +

            ",CompanyName,ContactName FROM Customers";



         IDbCommand cmd = 

            DataFactory.CreateCommand(

            cmdString, dbtype,cnn);



            DbDataAdapter da = 

               DataFactory.CreateAdapter(cmd,dbtype); 



         DataTable dt = new DataTable("Customers");



         da.Fill(dt);



         return dt;

      }

        

      public CustomersDS GetCustomerOrders(string CustomerID)

      {

         // 待定

         return null;

      }

      public CustomersList GetCustomersByCountry

         (string CountryCode)

      {

         // 待定

         return null;

      }

      public bool InsertCustomer()

      {

         // 待定

         return false;

      }

   }

}

CustomerData 类的 GetCustomers() 方法中,我们可以看到通过读取配置文件中的信息。可以使用 DataFactory 类通过特定连接字符串创建 XxxConnection 实例,并编写与基本数据源没有特定依赖性的其余代码部分。

与数据层交互的一个业务层类示例看起来可能类似下面这样:

using System;

using System.Data; 

using DAL;



namespace BLL

{

    public class Customers

    {

        public DataTable GetAllCustomers()

        {

            CustomersData cd = new CustomersData();  

            DataTable dt = cd.GetCustomers();

            return dt;

        }

        public DataSet GetCustomerOrders()

        {

            // 待定

            return null;

        }

    }

}

你可能感兴趣的:(数据)