我正在寻找有关在C语言中打印SQL语句结果的帮助。我试图不将每个变量都设置为指针,然后使用该指针将变量打印出来。如果我这样做了,我将需要数百个变量。到目前为止,这是我尝试过的。我真的不知道如何使它正确输出。任何帮助,将不胜感激。
int hstmt = DBActivateSQL(hdbc, "SELECT * FROM REG_RESULTSTABLE");
if (hstmt <= 0)
{
ShowError();
}
sprintf(uutNum, "%s \n", hstmt);
while((resCode = DBFetchNext(hstmt)) == DB_SUCCESS) {
SetCtrlVal(panelHandle, PANEL_lstregulator, uutNum);
}
答案 0 :(得分:0)
DBActivateSQL
的原型是
int DBActivateSQL (int connectionHandle, char SQLStatement[]);
返回int
。
因此hstmt
应该声明为int
类型。
int hstmt = DBActivateSQL(hdbc, "SELECT * FROM REG_RESULTSTABLE");
要将其打印为字符串,您需要使用%d
而不是%s
,因为hsmt
的类型为int
。
sprintf(uutNum, "%d",hstmt);
^^------------------------//Using %d instead of %s here
答案 1 :(得分:0)
所需的功能是DBFetchNext
和DBGetCol*
(DBGetColChar
,DBGetColDouble
,...)。根据{{1}}上的文档页面,流程应如下所示,其中每列只需要一个变量:
DBGetColChar