数据访问应用程序块提供了获取 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");
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23155850/viewspace-666728/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23155850/viewspace-666728/