Was bedeutet dieser Fehler Ich habe versucht Alle möglichen Mittel, um es zu ändern, aber es funktioniert nicht.ODBC ERROR WITHE SQLINTEGER
umwandeln kann nicht 'SQLINTEGER *' auf 'long int *' für Argument '6' 'SQLRETURN SQLGetData (void *, SQLUSMALLINT, SQLSMALLINT, void *, long int, long int *)' betont Text
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);
Das ist eine Fehlermeldung. Wie sieht dein Code aus? Vielleicht rufen Sie den langen int * -Parameter wirklich mit einem SQLINTERGER * auf - auch wenn es versehentlich wegen Fehlcasting ist. – winwaed
@ user475529 - vielen Dank für die Buchung des Codes für den Aufruf von SQLGetData. Könnten Sie bitte die Deklarationen für die in diesem Aufruf erwähnten Variablen hinzufügen, die in Ihrem Codefragment nicht bereits erwähnt sind (dh die Variablen i, buf und indicator)? Vielen Dank. –