このエラーは何を意味していますか?可能な限りすべての方法を変更しましたが、機能していません。ODBCエラーありSQLINTEGER
引数は 'long int型*' から 'SQLINTEGERを*' に変換できません '6' 'SQLRETURNのSQLGetData(ボイド*、SQLUSMALLINT、SQLSMALLINT、void *型、long int型、long 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);
を強調しました
これはエラーメッセージです。あなたのコードはどのように見えますか?おそらく、誤ったキャストのために不注意であっても、SQLINTERGER *を使用してlong int *パラメータを実際に呼び出すことになります。 – winwaed
@ user475529 - SQLGetDataへの呼び出しのコードを投稿していただきありがとうございます。このコードで言及されていない変数(つまり、変数i、buf、およびindicator)に記述されていない変数の宣言を追加してください。ありがとうございました。 –