我使用qt连接sql server!连接成功后可以调用数据库自带的操作。但是无法调用数据库自定义的函数?原因会是什么呀?
QSqlQuery *query = new QSqlQuery(*db);
query->prepare("exec sp_info_with_gv ?,?");
query->bindValue(0,index1);
query->bindValue(1,0,QSql::out);
query->exec();
代码的形式就是这样的,哪里出错了呀???
------最佳解决方案--------------------
估计你的参数不对,一个 out ,是不是 RETURN_VALUE ?
------其他解决方案--------------------
RETRUN_VALUE 不要作为参数传进去。
------其他解决方案--------------------
试试加个 sys.
query->prepare("exec sys.sp_info_with_gv ?,?");
------其他解决方案--------------------
试过了,不管用!
------其他解决方案--------------------
哦,不对。
忘了,我调用过系统的存储过程的,不用加 sys.
可以直接用的。
------其他解决方案--------------------
我是 sql2008 企业版,没有你这条系统存储过程嘛??
------其他解决方案--------------------
不是系统自带的函数,是自己写进sql 的函数。我调用update等系统自带的命令是没有问题的!可是调用自定义的函数就不可以。
------其他解决方案--------------------
是呀,用它返回 的值来判断函数的调用是否成功。
我单步运行程序显示这段代码有被执行,但是query->exec()返回值为0,也就是说函数执行失败了!
别人的程序关于这个函数的代码和我是一样的,但是他们的可以执行成功。有什么原因会导致执行失败呀?
------其他解决方案--------------------
O(∩_∩)O谢谢哦!我不想说系统很邪门,但是真的很邪门,我什么都没有做,今天一运行就成功了!