VFP+mysql,连接好后,调用存储过程返回值-1,调用出错

proyj 2008-03-25 06:10:28
我现建如下存储过程
mysql> delimiter //

mysql> CREATE PROCEDURE testproc (a int,b int)
-> BEGIN
-> SELECT a*b;
-> END
-> //


在vfp中连接mysql成功后
测试 sqlexec(lc,"select * from table ") 成功

可运行 ?sqlexec(lc,"call testproc(4,5)") 返回-1 表示不成功
?sqlexec(lc,"{call testproc(?4,?5)}")
?sqlexec(lc,"{call testproc(4,5)}")也试了不行


然后
mysql> delimiter //
mysql> CREATE PROCEDURE testproc ()
-> BEGIN
-> SELECT * from test_table;
-> END
-> //

在vfp中
?sqlexec(lc,"call testproc")
?sqlexec(lc,"{call testproc}")

也试了不行

相关资料也找不到,还请各位帮忙

...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2008-03-27
  • 打赏
  • 举报
回复
sqlexec(lc,"CALL testproc")

这样应该没有问题

之前你的lc句柄是大于0吗?
proyj 2008-03-27
  • 打赏
  • 举报
回复
CALL testproc
十豆三 2008-03-27
  • 打赏
  • 举报
回复
你在MYSQL的调用语句?

trainee 2008-03-26
  • 打赏
  • 举报
回复
sqlexec(lc,"call testproc(4,5)")
格式是没错的

你要查出错的原因啊?
VFP里是AERROR语句可以返回错误信息啊
proyj 2008-03-26
  • 打赏
  • 举报
回复
补充一点 我所测试的存储过程在msql终端下测试没有问题
proyj 2008-03-26
  • 打赏
  • 举报
回复
谢谢trainee指点
使用 aerror()后,发现错误信息 g3.testproc can't return a result set in the given context

不知道怎么做了,在mysql参考手册 存储过程章节也没发现有 返回数据集 的说明

在网上搜到php调用mysql存储过程返回结果集的处理

关键就是两点
1 define('CLIENT_MULTI_RESULTS', 131072);
3 $link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());


vfp下不知道怎么做

还请指点

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧