无法从VFP中的存储过程向网格显示数据

时间:2015-06-24 08:58:16

标签: sql foxpro visual-foxpro

我想显示来自SP的结果,但它不会显示任何

我已经验证了我的查询,它确实返回了一行结果

这是我的代码:

cn=SQLCONNECT("db", dbuser,dbpassword)
IF cn>0 then
    q=SQLEXEC(cn,"execute ListOfRepostEntries ?br1")
    q=SQLDISCONNECT(cn)
    IF q>0 then     
        thisform.grdRepostEntries.RecordSource=q
        thisform.grdRepostEntries.Refresh()
    ELSE
        MESSAGEBOX("Unable to execute query.",64,"Message")
    ENDIF
ELSE
    MESSAGEBOX("There was a problem connecting to the server.",64,"Message")
ENDIF

1 个答案:

答案 0 :(得分:0)

SQLExec()用于运行查询或存储过程,但通常使用THIRD参数在返回时提供别名结果集。正如您所拥有的那样,您将为其提供连接句柄和要执行的查询。您获得的“Q”值只有在正确执行时才会成为状态。

尝试稍微改为

  q=SQLEXEC(cn,"execute ListOfRepostEntries ?br1", "myLocalAlias" )
    q=SQLDISCONNECT(cn)
    IF used( "myLocalAlias" ) 
        thisform.grdRepostEntries.RecordSource = "myLocalAlias"
        ...