zoukankan      html  css  js  c++  java
  • 不能用kbmMWClientQuery执行存储过程

    今天同事遇到个问题,用kbmMWClientQuery执行存储过程,执行同一SQL:

    Exec MyStore "xxxx-xxxx",每次返回结果可能还不一样,根本就不是存储过程计算的内容。

    最后改成kbmMWClientStoreproc解决!

    这是以前在新浪博客写的内容,转过来:

    在客户端,kbmMW为我们实现了ClientStoredProc,类似ClientQuery,区别是执行数据库的存储过程。

    常规的调用方法:
          sp := TkbmMWClientStoredProc.Create(nil);
          sp.StoredProcName := 'TestProc';
          sp.FieldDefs.Update;//取得存储过程的参数
          sp.ParamByName['Tables'].AsString := 'ScoreView';
          sp.execProc;//执行存储过程,取得存储过程返回的参数值
     
    如果返回记录集,则执行:
          sp.Open;//取得返回的数据集,注意,Open时不返回存储过程的参数值.
     
    在使用过程中发现,目前Open方法不支持同时返回参数与数据集。另外,如果在存储过程中,返回数据集是根据传进去的参数进行计算的,即存储过程利用参数动态生成SQL,再利用生成的SQL返回数据集,那还需要修改kbmMWUniDAC单元中对储存过程处理的部分,然后再象上面一样调用。如果作者能让执行Open取得数据集时直接返回存储过程参数值就好了!
     
    环境:
    Delphi 10.1.2+kbmMW 4.93+uniDAC.
  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/15611622.html
Copyright © 2011-2022 走看看