上一节讲述的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 方法添加输出参数
AddOutParameter 方法添加输出参数
AddReturnValueParameter 方法添加返回参数
返回参数值,示例如下:
ProcSection proc = DbSession.Default.FromProc("testoutstore") .AddInParameter("in1", System.Data.DbType.Int32, 1) .AddOutParameter("out1", System.Data.DbType.Int32) .AddOutParameter("out2", System.Data.DbType.String,100); proc.ExecuteNonQuery(); Dictionary<string, object> returnValue = proc.GetReturnValues(); foreach (KeyValuePair<string, object> kv in returnValue) { Response.Write("ParameterName:" + kv.Key + " ;ReturnValue:" + Convert.ToString(kv.Value)); Response.Write("<br />"); }
其中GetReturnValues()方法就是回去返回值。
存储过程的执行也是很简单的。
下一节将讲述DbSession的其他简单辅助方法。
作者:steven hu
出处:http://www.cnblogs.com/huxj
MSN: cn_huxj@hotmail.com
交流QQ群:60831381
版权声明:欢迎任何网络媒体和网站转载本人博客的内容,只需注明作者和主博客文章地址的链接。另有约定者除外。
此声明随时可能修改,不另行通知。
出处:http://www.cnblogs.com/huxj
MSN: cn_huxj@hotmail.com
交流QQ群:60831381
版权声明:欢迎任何网络媒体和网站转载本人博客的内容,只需注明作者和主博客文章地址的链接。另有约定者除外。
此声明随时可能修改,不另行通知。
评论快速通道: