如何在Visual Foxpro中执行MariaDB存储过程?

4szc88ey  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(118)

我在Maria DB中有一个函数/存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `test1`(var1 varchar(100))
BEGIN
  select * from ttype where kode=var1;
END

我需要从存储过程中获得一个游标,如何在vfp应用程序中获得一个游标,在MariaDb/MySQL StoreProc中的数据库?
我尝试在我的Visual Foxpro:

  • Sqlexec(kon,“调用测试1('ABC')",“测试”)* --〉未运行

但是当我这样使用普通select时:

  • sqlexec(kon,“select * from ttype where kode ='ABC'",“test”)* --它运行得很好。
zbsbpyhn

zbsbpyhn1#

  • “您能告诉我如何在我的案例中使用aerror()吗?"*

当任何ODBC Remote操作失败时,您将始终使用AError()函数,即Vfp的任何SQL*()函数,例如SqlStringConnect()或您建议的

sqlexec(kon,"select * from ttype where kode='ABC'","test") --it's running well

&&实际上,你无法知道 “it's running well” 是否正确,除非你像这样计算它的返回值:

Local lnResult, laSqlErrors[1], lcErrorMessage
lnResult = SqlExec(kon,"select * from ttype where kode='ABC'","test")
If m.lnResult = –1 && as documented in the F1 Help
        AERROR(laSqlErrors)
        lcErrorMessage = ;
            TRANSFORM(laSqlErrors[1]) + ", " + ;
            TRANSFORM(laSqlErrors[2])
        && now write a log and/or inform the user
ENDIF
&& to be continued

相关问题