Qu'est-ce que cette erreur signifie que j'ai essayé Tous les moyens possibles de le changer mais il ne fonctionne pas.ODBC ERROR WITHE SQLINTEGER
ne peut pas convertir 'SQLINTEGER *' à 'long int *' pour l'argument '6' à 'SQLRETURN SQLGetData (void *, SQLUSMALLINT, SQLSMALLINT, void *, long int, long int *)' texte souligné
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);
C'est un message d'erreur. À quoi ressemble votre code? Peut-être que vous appelez vraiment le paramètre long int * avec un SQLINTERGER * - même s'il est inadvertant en raison d'une mauvaise diffusion. – winwaed
@ user475529 - merci d'avoir posté le code pour l'appel à SQLGetData. Pourriez-vous s'il vous plaît ajouter les déclarations pour les variables mentionnées dans cet appel qui ne sont pas déjà mentionnées dans votre fragment de code (c'est-à-dire, les variables i, buf et indicateur)? Je vous remercie. –