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.
  • 相关阅读:
    excel2007灵活计算2个日期之间的工作日
    bat
    eclipse Maven操作出现No compiler is provided in this environment.Perhaps you are running on a JRE rather than a JDK?
    将BeyondCompare设置为TortoiseSVN的扩展比较工具
    python_Excel_xlwt
    Pyqt5_实例1
    Word使用技巧——持续更新
    python_serial
    Pyqt5_Python运用过程中一些问题和技巧
    Pyqt5_QfileDialog
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/15611622.html
Copyright © 2011-2022 走看看