数据访问应用程序块提供了获取 ADO.NET DbCommand 对象的的统一方法。应用程序块的数据访问方法包含了接受 DbCommand 对象的重载。如果用 DbCommand 对象来使用重载,在调用存储过程时将可以进行更多的控制。例如,如果使用 DbCommand 对象,就可以使用在输出参数中返回多个结果的存储过程。另外,DbCommand 对象允许指定存储过程的超时值。
创建 DbCommand 对象的方法分为二种类型:
- 表示存储过程调用的那些方法(例如,GetCustomers)
- 表示 SQL 文本命令的那些方法(例如,Select CustomerID, Fullname From Customers )
调用的获取 DbCommand 对象的方法由是要执行内联的 SQL 还是调用存储过程来决定。用于存储过程的创建 DbCommand 对象的方法还提供参数缓存。关于参数缓存的更多信息,请参见处理参数。
所有 DbCommand 对象的创建都使用 Database 类的方法,这些方法如下:
- GetStoredProcCommand。此方法用于存储过程命令。
- GetSqlStringCommand。此方法用于 SQL 文本命令。 二个方法都返回一个 DbCommand 对象。
用于 SQL 语句的 DbCommand对象
使用 GetSqlStringCommand 方法创建用于内联 SQL 语句的 DbCommand 对象。特定的 SQL 命令在方法调用时做为一个参数进行传递。
下列代码展示了如何使用 GetSqlStringCommand。
C#
- Database db = DatabaseFactory.CreateDatabase();
- string sqlCommand = "Select CustomerID, LastName, FirstName From Customers";
- DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);
用于存储过程的 DbCommand 对象
要执行存储过程,必须使用 GetStoredProcCommand 方法来创建 DbCommand 对象。要执行存储过程的名称在方法调用时做为一个参数传递。
下列代码展示了如何使用 GetStoredProcCommand。
C#
- Database db = DatabaseFactory.CreateDatabase();
- DbCommand dbCommand = db.GetStoredProcCommand("GetProductsByCategory");
http://hi.baidu.com/847270942/blog/item/c224dd557ff7455d574e0072.html
转载于:https://blog.51cto.com/huqianhao/956581