DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: cuiqingbo
今日帖子: 19
在线用户: 10
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 3601121 (3601121) ★☆☆☆☆ -
普通会员
2017/5/10 23:36:43
标题:
咨询下, TUniStoredProc 调用mysql 存储过程怎么接收返回的数据啊? 浏览:1319
加入我的收藏
楼主: 我现在写的是这样

UniStoredProc1.StoredProcName:= 'ShowAllIC';
UniStoredProc1.PrepareSQL;
UniStoredProc1.ParamByName ('_lb').AsInteger:=1;
UniStoredProc1.Execute;


不知道怎么接收返回的数据,
----------------------------------------------
-
作者:
男 beibeili (beibeili) ★☆☆☆☆ -
普通会员
2017/5/11 8:54:43
1楼: 这个用的是ODAC,都是一家公司的产品,写法应该雷同

function TTransOrderQuery.AddOrderInfo: Integer;
begin
     Result := -1;

     Proc.Close;
     Proc.Params.Clear;
     //设置存储过程名
     Proc.StoredProcName := 'PK_Orders.Pr_Update_Transfer_Order';
     //创建存储过程参数
     Proc.Params.CreateParam( ftString, 'iOrder_ID', ptInput );
     Proc.Params.CreateParam( ftString, 'iUser_ID', ptInput );
     Proc.Params.CreateParam( ftString, 'iBank_ID', ptInput );
     Proc.Params.CreateParam( ftString, 'iBank_Name', ptInput );
     Proc.Params.CreateParam( ftString, 'iBank_Card_ID', ptInput );
     Proc.Params.CreateParam( ftInteger, 'iOrder_Value', ptInput );
     Proc.Params.CreateParam( ftInteger, 'iOrder_State_ID', ptInput );
     Proc.Params.CreateParam( ftString, 'iCreate_Timestamp', ptInput );
     Proc.Params.CreateParam( ftString, 'iConfirm_Timestamp', ptInput );
     Proc.Params.CreateParam( ftInteger, 'oResult_Code', ptOutput );
     Proc.Params.CreateParam( ftString, 'oResult_Desc', ptOutput );
     //存储过程输入参数赋值
     Proc.Params.ParamByName( 'iOrder_ID' ).AsString := OrderID;
     Proc.Params.ParamByName( 'iOrder_ID' ).AsString := UserID;
     Proc.Params.ParamByName( 'iBank_ID' ).AsString := OrderInfo.BankID;
     Proc.Params.ParamByName( 'iBank_Name' ).AsString := OrderInfo.BankName;
     Proc.Params.ParamByName( 'iBank_Card_ID' ).AsString := OrderInfo.BankCard;
     Proc.Params.ParamByName( 'iOrder_Value' ).AsInteger := OrderInfo.Value;
     Proc.Params.ParamByName( 'iOrder_State_ID' ).AsInteger := OrderInfo.Status;
     Proc.Params.ParamByName( 'iCreate_Timestamp' ).AsString := OrderInfo.CreateTimestamp;
     Proc.Params.ParamByName( 'iConfirm_Timestamp' ).AsString := OrderInfo.ConfirmTimestamp;

     Proc.ParamCheck := True;
     //调用存储过程
     Try
        Proc.Execute;
        //获取存储过程返回值
        Result := Proc.Params.ParamByName( 'oResult_Code' ).AsInteger;
     Except
          On E : Exception Do
          Begin
          Log.Error( BatchID + ' - 调用存储过程' + Proc.StoredProcName + '发生异常,异常信息:' + E.Message );
          End;
     End;
end;
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行58.59375毫秒 RSS