daab 3.1使用笔记
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                daab 3.1使用笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            相信很多人使用過Microsoft?Data?Application?Blocks,在以前的版本中(3.0之前),都是通過SqlHelper類來實現,適用SQLServer數據庫,如果使用其他數據庫,就需要重新寫一個,很麻煩,PetShop3.0中就是另外寫了一個OraHelper來實現Oracle數據庫的操作,在3.1版中這種情況可不再有了。?
可以到gotdotnet下載,具體地址不記得了。?
DAAB3.1連NameSpace也改了:GotDotNet.ApplicationBlocks.Data,通過一個通用類AdoHelper實現了SqlServer,?Oracle,?OleDB,?ODBC不同類型的連接,由AdoHelper自動選擇合適的數據庫連接類來連接,當你在不同數據庫間切換時,可以在只修改配置文件不改動代碼的情況下實現數據庫的轉換。?
在配置文件中可以這樣配置:?
?<configSections>?
??<section?name="daabProviders"?type="GotDotNet.ApplicationBlocks.Data.DAABSectionHandler,?GotDotNet.ApplicationBlocks.Data">?
??</section>?
?</configSections>?
?<daabProviders>?
??<daabProvider?alias="misapp"?assembly="GotDotNet.ApplicationBlocks.Data"?type="GotDotNet.ApplicationBlocks.Data.SqlServer"?/>?
?</daabProviders>?
代碼中只要使用(vb)?
????Dim?adoHelper?As?AdoHelper?=?AdoHelper.CreateHelper("misapp")?
即可創建AdoHelper的一個實例,以后如果數據庫改為Oracle,只需將配置文件中連接串相應修改,同時將daabProviders一節改為以下內容即可,如果使用的是標準sql語句,代碼中不需任何修改。?
?<daabProviders>?
??<daabProvider?alias="misapp"?assembly="GotDotNet.ApplicationBlocks.Data"?type="GotDotNet.ApplicationBlocks.Data.Oracle"?/>?
?</daabProviders>?
如果不使用別名,則要在實例化AdoHelper時指定所的數據庫類型,如(vb):?
Dim?sqlHelper?As?AdoHelper?=?AdoHelper.CreateHelper(GetType(SqlServer).Assembly.FullName,?GetType(SqlServer).FullName)?
或?
Dim?sqlHelper?As?AdoHelper?=?AdoHelper.CreateHelper("GotDotNet.ApplicationBlocks.Data,?GotDotNet.ApplicationBlocks.Data.SqlServer)?
接下來的使用就很簡單了(C#,AspNetPager示例),?
??private?void?Page_Load(object?sender,?System.EventArgs?e)?
??{?
???AdoHelper?helper?=?AdoHelper.CreateHelper("misapp");?
????
???string?connString?=?System.Configuration.ConfigurationSettings.AppSettings["connString"];?
???if(!Page.IsPostBack)?
???{?
????AspNetPager1.RecordCount=(int)helper.ExecuteScalar(connString,System.Data.CommandType.Text,"select?count(*)?from?orders");?
????BindData();?
???}?
??}?
??void?BindData()?
??{?
???AdoHelper?helper?=?AdoHelper.CreateHelper("misapp");?
???string?connString?=?System.Configuration.ConfigurationSettings.AppSettings["connString"];?
???IDataParameter[]?para?=?new?IDataParameter[2];?
???para?=?helper.GetSpParameterSet(connString,"mypager");?
????
//???mypager為獲取分頁數據的存儲過程?
???para[0].Value=AspNetPager1.PageSize;?
???para[1].Value=AspNetPager1.CurrentPageIndex;?
???DataGrid1.DataSource=helper.ExecuteReader(connString,"mypager",para);?
????
???DataGrid1.DataBind();?
??}?
??public?void?AspNetPager1_PageChanged(object?src,?Wuqi.Webdiyer.PageChangedEventArgs?e)?
??{?
???AspNetPager1.CurrentPageIndex=e.NewPageIndex;?
???BindData();?
??}?
上面這段代碼不需任何修改即可改為Oracle上的應用(數據庫中的存儲過程還是要改的,配置文件要改一下)?
Data?Access?Application?Block?3.1?下載地址:?
http://www.gotdotnet.com/workspaces/releases/viewuploads.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431
                            
                        
                        
                        可以到gotdotnet下載,具體地址不記得了。?
DAAB3.1連NameSpace也改了:GotDotNet.ApplicationBlocks.Data,通過一個通用類AdoHelper實現了SqlServer,?Oracle,?OleDB,?ODBC不同類型的連接,由AdoHelper自動選擇合適的數據庫連接類來連接,當你在不同數據庫間切換時,可以在只修改配置文件不改動代碼的情況下實現數據庫的轉換。?
在配置文件中可以這樣配置:?
?<configSections>?
??<section?name="daabProviders"?type="GotDotNet.ApplicationBlocks.Data.DAABSectionHandler,?GotDotNet.ApplicationBlocks.Data">?
??</section>?
?</configSections>?
?<daabProviders>?
??<daabProvider?alias="misapp"?assembly="GotDotNet.ApplicationBlocks.Data"?type="GotDotNet.ApplicationBlocks.Data.SqlServer"?/>?
?</daabProviders>?
代碼中只要使用(vb)?
????Dim?adoHelper?As?AdoHelper?=?AdoHelper.CreateHelper("misapp")?
即可創建AdoHelper的一個實例,以后如果數據庫改為Oracle,只需將配置文件中連接串相應修改,同時將daabProviders一節改為以下內容即可,如果使用的是標準sql語句,代碼中不需任何修改。?
?<daabProviders>?
??<daabProvider?alias="misapp"?assembly="GotDotNet.ApplicationBlocks.Data"?type="GotDotNet.ApplicationBlocks.Data.Oracle"?/>?
?</daabProviders>?
如果不使用別名,則要在實例化AdoHelper時指定所的數據庫類型,如(vb):?
Dim?sqlHelper?As?AdoHelper?=?AdoHelper.CreateHelper(GetType(SqlServer).Assembly.FullName,?GetType(SqlServer).FullName)?
或?
Dim?sqlHelper?As?AdoHelper?=?AdoHelper.CreateHelper("GotDotNet.ApplicationBlocks.Data,?GotDotNet.ApplicationBlocks.Data.SqlServer)?
接下來的使用就很簡單了(C#,AspNetPager示例),?
??private?void?Page_Load(object?sender,?System.EventArgs?e)?
??{?
???AdoHelper?helper?=?AdoHelper.CreateHelper("misapp");?
????
???string?connString?=?System.Configuration.ConfigurationSettings.AppSettings["connString"];?
???if(!Page.IsPostBack)?
???{?
????AspNetPager1.RecordCount=(int)helper.ExecuteScalar(connString,System.Data.CommandType.Text,"select?count(*)?from?orders");?
????BindData();?
???}?
??}?
??void?BindData()?
??{?
???AdoHelper?helper?=?AdoHelper.CreateHelper("misapp");?
???string?connString?=?System.Configuration.ConfigurationSettings.AppSettings["connString"];?
???IDataParameter[]?para?=?new?IDataParameter[2];?
???para?=?helper.GetSpParameterSet(connString,"mypager");?
????
//???mypager為獲取分頁數據的存儲過程?
???para[0].Value=AspNetPager1.PageSize;?
???para[1].Value=AspNetPager1.CurrentPageIndex;?
???DataGrid1.DataSource=helper.ExecuteReader(connString,"mypager",para);?
????
???DataGrid1.DataBind();?
??}?
??public?void?AspNetPager1_PageChanged(object?src,?Wuqi.Webdiyer.PageChangedEventArgs?e)?
??{?
???AspNetPager1.CurrentPageIndex=e.NewPageIndex;?
???BindData();?
??}?
上面這段代碼不需任何修改即可改為Oracle上的應用(數據庫中的存儲過程還是要改的,配置文件要改一下)?
Data?Access?Application?Block?3.1?下載地址:?
http://www.gotdotnet.com/workspaces/releases/viewuploads.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431
總結
以上是生活随笔為你收集整理的daab 3.1使用笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Python1:if / while /
- 下一篇: python2:function
