数据库组件 Hxj.Data (八)(存储过程篇)
来源:互联网 发布:java rawurlencode 编辑:程序博客网 时间:2024/04/30 19:08
上一节讲述的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("
");}
其中GetReturnValues()方法就是回去返回值。
存储过程的执行也是很简单的。
下一节将讲述DbSession的其他简单辅助方法。
- 数据库组件 Hxj.Data (八)(存储过程篇)
- 数据库组件 Hxj.Data (一)(介绍篇)
- 数据库组件 Hxj.Data (三)(查询操作篇)
- 数据库组件 Hxj.Data (四)(添加操作篇)
- 数据库组件 Hxj.Data (六)(删除操作篇)
- 数据库组件 Hxj.Data (三十一)(MySQL篇)
- 数据库组件 Hxj.Data (五)(更新操作篇)
- 数据库组件 Hxj.Data(七) (sql篇)
- 数据库组件 Hxj.Data (二十四)(Sqlite数据库)
- 数据库组件 Hxj.Data (二)(实体生成工具)
- 数据库组件 Hxj.Data (十一) (where条件)
- 数据库组件 Hxj.Data (十三) (子查询)
- 数据库组件 Hxj.Data (十四) (联合查询)
- 数据库组件 Hxj.Data (十六) (查询的字段)
- 数据库组件 Hxj.Data (十七) (事务)
- 数据库组件 Hxj.Data (十八) (批处理)
- 数据库组件 Hxj.Data (十九) (事务二)
- 数据库组件 Hxj.Data (二十) (分页)
- html table 中,如果没内容不显示内部的线
- making things move as3阅读笔记 ---bitmapdata几个有用的操作函数
- poj1450
- Windows驱动中判断Session是否是远程Session
- Ubuntu下安装OpenGL 环境
- 数据库组件 Hxj.Data (八)(存储过程篇)
- 娱乐之非诚匆扰
- 很牛的vim使用技巧(转载)
- rgb格式的几个关键问题
- 共享Binding共享代码
- intel 程序开发大赛
- oracle行列字符串
- Linux 文件和目录的属性
- JBPM