本帖最后由 Noel 于 2018-3-7 17:55 编辑
关于调用Sql Server的存储过程请见这篇帖子。
如何调用Oracle存储过程,步骤如下:
1. 添加OracleSpApi.dll(见附件)到自定义Web Api下。
2. 配置数据库连接字符串
新建数据表“_DataSources”,新建2个文本类型字段Name,ConnectionString
Name: 使用时的名字
ConnectionString: 数据库连接字符串
3. ExecuteQuery示例
请见附件示例中Oracle页面的中的“ExecuteQuery”按钮
JS 代码:
- $.ajax(Forguncy.ForguncyData.ForguncyRoot+'customapi/oraclespapi/ExecuteQuery', {
- method:'post', dataType:'json',
- data:JSON.stringify({
- ConnectionName:'oracletest',
- ProcedureName:'getProducts1',
- Parameters:{'minPrice': Forguncy.Page.getCell('minPrice').getValue()},
- CursorParameters:['retval'], //游标类型参数,用于获取数据集
- })
- }).done(function(data){
- alert(data.ExecuteResult.length);
- }).fail(function(data){
- alert('失败');
- });;
复制代码 4. ExecuteNonQuery示例
请见附件示例中Oracle页面的中的“ExecuteNonQuery”按钮
JS代码:
- var p = Forguncy.Page,
- id = p.getCell('id').getValue(),
- count = p.getCell('count').getValue();
- $.ajax(Forguncy.ForguncyData.ForguncyRoot+'customapi/oraclespapi/ExecuteNonQuery', {
- method:'post',
- data:JSON.stringify({
- ConnectionName:'oracletest',
- ProcedureName:'gettotalprice',
- Parameters:{'id': id, 'c': count}, //参数
- OutputParameters:{'total':0} //返回类型参数
- })
- }).done(function(result){
- p.getCell('result').setValue(result.Output['total']);
- }).fail(function(data){
- alert('失败');
- });
复制代码 5.运行示例 效果:
|