DbProviderFactory

  • 4329
  • 0
  • C#
  • 2008-12-11

寫.NET要接觸到物件導向真的很容易

一定要自己寫類別、作架構來實踐物件導向才算實踐嗎?

物件導向是一個目標,如果要學的話當然要儘量多看書學習

並試著依照前人良好的模式架構出您需求的系統囉

寫.NET要接觸到物件導向真的很容易

一定要自己寫類別、作架構來實踐物件導向才算實踐嗎?

物件導向是一個目標,如果要學的話當然要儘量多看書學習

並試著依照前人良好的模式架構出您需求的系統囉

 

其實整個.NET Framework本來就是物件組成的

裡面當然也有實踐很多良好的模式

能夠讓我們立即上手感受到物件導向的Power

就拿資料庫來說好了

如果您遇過系統開發完了客戶卻希望改變資料庫類型

一定會忙翻天加班加到不知不覺凌晨了卻只能買一灌蠻牛康貝特喝了在上繼續改

 

.NET中可是有讓您實踐簡單工廠模式的類別歐~

例如這樣的code: 


DbProviderFactory dbFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");
using (DbConnection dbConn = dbFactory.CreateConnection())
{
    dbConn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    dbConn.Open();
    if (dbConn.State == ConnectionState.Open)
    {
        DbCommand dbCmd = dbConn.CreateCommand();
        dbCmd.CommandText = @"SELECT EmployeeID, LastName, FirstName, Title 
                            FROM Employees 
                            WHERE FirstName like '%'+@FirstName+'%'";
        DbParameter dbPram = dbFactory.CreateParameter();
        dbPram.ParameterName = "@FirstName";
        dbPram.DbType = DbType.String;
        dbPram.Value = "a";
        dbCmd.Parameters.Add(dbPram);
        DbDataReader dbRead = dbCmd.ExecuteReader();
        GridView1.DataSource = dbRead;
        GridView1.DataBind();
    }
}

在DbProviderFactory dbFactory = DbProviderFactories.GetFactory("System.Data.SqlClient")

這段可以看到我們現在是用SqlClient來指定資料庫類型是SQL Server

您也可以視情況來改變參數如System.Data.OleDb就是改成access啦

DbProviderFactory