이 오류가 나는 그것을 변화의 가능한 모든 방법을 시도했지만 그것이 작동하지 않는 의미합니까 무엇.ODBC 오류 가지 SQLINTEGER는
은에 '* SQLINTEGER을'변환 할 수 없습니다 '긴 INT *'인수 '6' 'SQLRETURN SQLGetData를 (무효 *, SQLUSMALLINT, SQLSMALLINT 무효 *, long int와 긴 INT *)'을 강조 텍스트에 대한
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);
컴파일러가 모든 관련 선언과 함께에 대해 흥미를 끄는 것이 SQLGetData를의 실제 전화를 게시하려는 경우
오류 메시지입니다. 코드는 어떻게 생겼습니까? 어쩌면 mis-casting으로 인해 부주의 한 경우에도 SQLINTERGER *를 사용하여 long int * 매개 변수를 호출하는 것일 수 있습니다. – winwaed
@ user475529 - SQLGetData에 대한 호출 코드를 게시 해 주셔서 감사합니다. 이 코드에서 이미 언급 한 변수 (즉, 변수 i, buf 및 표시기)에 언급되지 않은 변수에 대한 선언을 추가 할 수 있습니까? 고맙습니다. –