|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
txj2k1 (txj2k1) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/9/7 17:29:26 |
标题: |
mysql firedac遇到的一个问题,求救! |
浏览:1296 |
|
加入我的收藏 |
楼主: |
用firedac连接mysql5 用 fdstoredproc 调用了一个带返回值的存储过程, 在第一次调用的时候,会抛出异常,提示所调用的存储过程找不到,但是又返回了正确的存储过程的结果,也就是实际上是找到了这个存储过程。 第二次再调用的话就不会再抛出异常。 下面是代码, with FDStoredProcCmdLog do begin Close; //Unprepare; StoredProcName := 'funB_PayF'; Prepare;
ParamByName('p_paydate').Value := 33;
v := ExecFunc; logMessage('返回' + vartostr(v)); Close; end;
----------------------------------------------
- |
作者: |
|
2017/9/7 20:10:15 |
1楼: |
用UniDac也有这个问题,MYSQL的SP能正确执行,但就是取不到返回值。我在网上查了下,解决方法:增加一个uniQuery,使uniQuery.sql=SP的SQL,SP执行后,再从UniQuery中取得SP的返回值。
----------------------------------------------
-
|
作者: |
txj2k1 (txj2k1) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/9/7 20:15:45 |
2楼: |
firedac 抛出找不到sp的异常,然后代码还是可以取得sp的正确返回值,就是第一次调用多了个异常,非常烦人。
----------------------------------------------
-
|
|