如何在C中返回SQLPOINTER数组?

时间:2016-12-08 22:40:55

标签: c arrays return odbc

我有一个简单的程序从数据库中读取数据,我使用的是ODBC,但我想在数组中保存数据或行。我将它保存在SQLPOINTER col [50]中。 我怎样才能返回整个阵列?可能吗? NB,我不想打印数组中的数据,我只是想要数组中的值(我已经有了),并返回整个数组,以便调用该函数的人拥有他们从中查询的数据数据库。 任何人都可以提供任何建议吗? 我有点像新手所以请耐心等待:-) 非常感谢你。 我的功能是:

SQLPOINTER ColPtrArray[50]
SQLPOINTER db_getData(SQLHSTMT handle)
{   
    retcode = SQLFetch(handle);
    CHECK_ERROR(retcode, "SQLFetch()", handle, SQL_HANDLE_STMT);
    if(retcode == SQL_SUCCESS)
    {
        printf("\nSQL_SUCCESS\n");
        return ColPtrArray;
    }

    exit:
    printf("JJJ");
}

归还可以吗?调用者如何处理返回的数组? 执行SQLFETCH时,将使用表的值填充数组。这个功能,我没有包括。 是的,并非所有路径都返回一个值。谢谢你指出了这一点。

1 个答案:

答案 0 :(得分:1)

我解决了。对于那些说我的代码没有意义的人,谢谢你的不必要的评论,但他是对的。我无法返回整个数组。 我所做的是传入一个数组作为参数之一,并将数组的值复制到传递的数组。 我还改变了所有路径都返回了一个值。感谢您指出了这一点。 也许这不是最好的解决方案,你们怎么想?