您的位置:首页 > 其它

Enterprise Library Step By Step系列(四):数据访问程序块——进阶篇

2005-10-21 10:32 477 查看

写在前面:在进阶篇中,主要通过对使用存储过程,使用事务,加密连接串三部分内容的介绍,给企业库的初学者提供一点帮助。
一. 使用存储过程:
关于数据访问应用程序块的介绍在入门篇里面已经说过了,这里不再重复。下面我们来看看在数据访问应用程序块里面使用存储过程的方法:
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

try
18





{
19



/**////执行两个存储过程
20

db.ExecuteNonQuery(CommandType.StoredProcedure,"InserOrders");
21

db.ExecuteDataSet(CommandType.StoredProcedure,"UpdateProducts");
22


23



/**////执行完成后提交事务
24

Idbtran.Commit();
25

}
26

catch
27





{
28



/**////回滚事务
29

Idbtran.Rollback();
30

}
31

finally
32





{
33



/**////关闭连接
34

Idbconn.Close();
35

}
36

}
37


38

}
三. 加密连接字符串:
1. 创建一个加密的Stored Provider:


2. 创建新的加密算法:





3. 选择加密算法:



4. 创建加密密钥:

5. 保存加密密钥的保存文件,该文件要小心保存:


6. 指定加密的部分:



这样我们看到,在配置文件里面的内容变成了乱码。

总结:关于数据访问应用程序块的进阶篇就写到这里了,希望对初学企业库的朋友有所帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐