上一节讲述的sql语句的执行,本节将讲述的是存储过程的执行。
执行存储过程是通过FromProc方法来完成的。
执行无参数存储过程如下:
DbSession.Default.FromProc("Ten Most Expensive Products").ToDataTable();
"Ten Most Expensive Products"就是存储过程名称。
执行带参数的存储过程:
DbSession.Default.FromProc("Sales by Year")
.AddInParameter("Beginning_Date", DbType.DateTime, "1995-01-01")
.AddInParameter("Ending_Date", DbType.DateTime, "1996-12-01")
.ToDataTable();
数据库中该存储过程
create procedure "Sales by Year"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal, DATENAME(yy,ShippedDate) AS Year
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
GO
有两个参数,分别是Beginning_Date和Ending_Date。
存储过程和sql语句的执行类似,不过存储过程多了参数,就是会有输入输出参数。
通过
AddInputOutputParameter 方法添加输入输出参数
AddOutParameter 方法添加输出参数
AddReturnValueParameter 方法添加返回参数
存储过程的执行也是很简单的。
下一节将讲述DbSession的其他简单辅助方法。