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

Unable to display data to grid from stored procedure in VFP

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

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

这是我的代码:

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

SQLExec() 用于 运行 查询或存储过程,但通常使用第三个参数在 return 上给出别名结果集。正如您所拥有的,您正在为它提供连接句柄和要执行的查询。您返回的 "Q" 值只是一个状态,是否正确执行。

尝试稍微更改为

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