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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值