存储过程

存储过程

  • 2020年8月24日
  • 3分钟阅读

XPO中对存储过程的支持包括以下功能。

直接调用现有存储过程

您可以使用以下方法来调用存储过程:

为了简化实现,数据模型向导可以选择为视图,触发器和存储过程生成所有必需的持久性类和DDL(数据描述语言)代码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yIxsVKr-1612142430649)(https://docs.devexpress.com/XPO/images/storedprocedures_wizardoption12752.png)]

启用“**导入存储过程”**选项时,将激活以下向导页面。

StoredProcedures_WizardPage

该向导会生成位于StoredSprocHelper.csStoredSprocHelper.vb)文件中的静态SprocHelper类。此类提供包装了Session.ExecuteSprocSession.GetObjectsFromSproc方法的以下静态方法:

方法名称描述
执行*<存储过程名称>*通过Session调用*<存储过程名称>存储过程*。执行Sproc**方法并返回结果集。
执行*<存储过程名称>*到对象通过Session调用*<存储过程名称>存储过程*。从Sproc方法获取***对象**并返回<存储过程名称>*结果对象的集合。
执行*<存储过程名称>*进入数据视图通过Session调用*<存储过程名称>存储过程*。执行Sproc方法,并返回XPData View类实例,该实例包含*<存储过程名称>* Result对象,这些对象是存储过程执行的结果。此方法还有一个重载,它也调用存储过程,但会填充作为参数传递给它的XPData View**对象。

所述**结果是通过其表示存储过程结果向导生成一个非持久类。此类的属性与在上面说明的向导栏中选择的结果集列相对应。

下面的代码示例演示如何使用生成的静态方法来调用存储过程:

public IList<CountEmployeesByClassificationResult> GetEmployeesByClassification(Session session) {
    // The ExecHR_CountEmployeesByClassificationIntoObjects method was generated by Data Model Wizard.
    return SprocHelper.ExecHR_CountEmployeesByClassificationIntoObjects(session).ToList();
}

持久性类到MS SQL Server和Oracle数据库视图的映射

此映射是在INSTEAD-OF触发器和存储过程的帮助下执行的,需要执行以下任务:

  • 创建一个数据库视图。
  • 将持久类映射到此视图。
  • 创建用于INSERT,UPDATE和DELETE功能的存储过程。
  • 创建INSTEAD-OF触发器,将此功能路由到创建的存储过程。
注意

Advantage,DB2,Firebird,My Sql和Pervasive数据库在生成结果集列时有一些已知的限制,而MSAccess数据库不支持获取存储过程的列表。这些问题可能会影响“数据模型向导”,该向导可以与XPO支持的其他数据库配合使用。无论如何,您都可以使用会话。执行存储过程会话。从SprocSession获取对象Sproc 方法获取对象以调用任何数据库的存储过程,MSSql Server除外CE和SQLite数据库,它们不支持存储过程。

注意

据库的存储过程,MSSql Server除外CE和SQLite数据库,它们不支持存储过程。

注意

您可以尝试在“查询数据存储”中使用此处描述的功能。****存储过程中的部分XPO教程演示(C:\用户\公用\文档\开发快速演示20. 2 \组件\赢形式\ BIN \ Xpo博览会教程。exe文件)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值