這個錯誤是什麼意思我試過所有可能的方式來改變它,但它不工作。ODBC ERROR WITHE SQLINTEGER
不能轉換 'SQLINTEGER *' 到 '長整型*' 的說法 '6' 到 'SQLRETURN SQLGetData(void *的,SQLUSMALLINT,SQLSMALLINT,無效*,長整型,長整型*)' 強調文本
Here is the code
#ifndef CPSC_408_DB_H
#define CPSC_408_DB_H
#include <sql.h>
#include <sqlext.h>
#include <iostream>
#include <string> using namespace std;
class Monster { public:
Monster(string dsn); ~Monster();
void execQuery();
private: //used for connection and status
SQLHENV env;
SQLHDBC dbc;
SQLHSTMT stmt;
SQLRETURN ret; /* ODBC API return status */
SQLCHAR outstr[1024]; SQLSMALLINT outstrlen;
};
#endif
//sql getdata method
/* retrieve column data as a string */
ret = SQLGetData(stmt, i+1, SQL_C_CHAR,
buf, sizeof(buf), &indicator);
這是一條錯誤消息。你的代碼是什麼樣的?也許你真的用SQLINTERGER *調用long int *參數 - 即使它是由於錯誤投射而導致的無意的。 – winwaed 2010-11-18 19:11:30
@ user475529 - 感謝您將調用的代碼發佈到SQLGetData。您能否爲您的代碼片段中未提及的此調用中提到的變量(即變量i,buf和指示符)添加聲明?謝謝。 – 2010-11-18 23:13:08