在C中打印SQL

时间:2018-11-29 13:42:07

标签: c labwindows cvi

我正在寻找有关在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);
}

2 个答案:

答案 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)

所需的功能是DBFetchNextDBGetCol*DBGetColCharDBGetColDouble,...)。根据{{​​1}}上的文档页面,流程应如下所示,其中每列只需要一个变量:

DBGetColChar