Enterprise Library Step By Step系列(四):数据访问程序块——进阶篇
2005-10-21 10:32:00
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://terrylee.blog.51cto.com/342737/67602 |
写在前面:在进阶篇中,主要通过对使用存储过程,使用事务,加密连接串三部分内容的介绍,给企业库的初学者提供一点帮助。
一. 使用存储过程:
关于数据访问应用程序块的介绍在入门篇里面已经说过了,这里不再重复。下面我们来看看在数据访问应用程序块里面使用存储过程的方法:
1. 不传递参数:不传递参数时值需要指定存储过程的名称,已经命令的类型即可。
1
/// <summary>2 /// 执行存储过程(1)——不传递参数(NoPara)3 /// </summary>4 private void FormatDataBySp1()5 {6 ///创建数据库实例7 Database db = DatabaseFactory.CreateDatabase("NorthWind");8 9 ///传递参数10 DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductsList");11 ![]() 12 ///执行存储过程13 DataSet ds = db.ExecuteDataSet(dbc);14 15 ///绑定数据16 DataGrid1.DataSource = ds.Tables[0];17 DataGrid1.DataBind();18 }2. 传递输入参数:需要注意的是在增加参数时是AddInParameter。
1
/// <summary>2 /// 执行存储过程(2)——传递输入参数(Input)3 /// </summary>4 private void FormatDataBySp2()5 {6 ///创建数据库实例7 Database db = DatabaseFactory.CreateDatabase("NorthWind");8 9 ///传递参数10 DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("CustOrdersDetail");11 dbc.AddInParameter("@OrderID",System.Data.DbType.Int32,10248);12 ![]() 13 ///执行存储过程14 DataSet ds = db.ExecuteDataSet(dbc);15 16 ///绑定数据17 DataGrid1.DataSource = ds.Tables[0];18 DataGrid1.DataBind();19 }3. 传递输出参数:需要注意的是在增加参数时是AddOutParameter。
1
/// <summary>2 /// 执行存储过程(3)——传递输出参数(Output)3 /// </summary>4 private void FormatDataBySp3()5 {6 ///创建数据库实例7 Database db = DatabaseFactory.CreateDatabase("NorthWind");8 9 ///传递参数10 DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductDetails");11 ![]() 12 dbc.AddInParameter("@ProductID",System.Data.DbType.Int32,12);13 dbc.AddOutParameter("@ProductName",System.Data.DbType.String,50); //输出14 ![]() 15 ///执行存储过程16 db.ExecuteNonQuery(dbc);17 18 string result = dbc.GetParameterValue("@ProductName").ToString(); //得到输出参数的值19 }二. 使用事务:
在企业库数据访问应用程序块里面,对事务提供了很好的支持,具体的使用方法在程序里面有注释,这里就不多说了。
1
/// <summary>2 /// 利用事务更改数据3 /// </summary>4 private void ExecuteUseTran()5 {6 ///创建数据库实例7 Database db = DatabaseFactory.CreateDatabase("NorthWind");8 ![]() 9 using(IDbConnection Idbconn = db.GetConnection())10 { 11 ///打开连接12 Idbconn.Open();13 14 ///创建事务15 IDbTransaction Idbtran = Idbconn.BeginTransaction();16 ![]() 17 try18 { 19 ///执行两个存储过程20 db.ExecuteNonQuery(CommandType.StoredProcedure,"InserOrders");21 db.ExecuteDataSet(CommandType.StoredProcedure,"UpdateProducts");22 23 ///执行完成后提交事务24 Idbtran.Commit();25 }26 catch27 { 28 ///回滚事务29 Idbtran.Rollback();30 }31 finally32 {33 ///关闭连接34 Idbconn.Close();35 }36 }37 ![]() 38 }三. 加密连接字符串:
1. 创建一个加密的Stored Provider:
2. 创建新的加密算法:![]() ![]() 3. 选择加密算法: ![]() 4. 创建加密密钥: 5. 保存加密密钥的保存文件,该文件要小心保存: 6. 指定加密的部分:![]() 这样我们看到,在配置文件里面的内容变成了乱码。
总结:关于数据访问应用程序块的进阶篇就写到这里了,希望对初学企业库的朋友有所帮助 本文出自 “TerryLee技术专栏” 博客,请务必保留此出处http://terrylee.blog.51cto.com/342737/67602 本文出自 51CTO.COM技术博客 |



写在前面:在进阶篇中,主要通过对使用存储过程,使用事务,加密连接串三部分内容的介绍,给企业库的初学者提供一点帮助。




}
2.


6.
lihuijun
博客统计信息
热门文章
最新评论
友情链接