2010-11-18 4 views
1

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); 
+0

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

+0

@ 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. –

Répondre

0

Il serait utile que vous postiez l'appel réel à SQLGetData que le compilateur manipule, ainsi que toutes les déclarations associées, mais je vais essayer de le faire.

Le dernier paramètre de SQLGetData est supposé être un pointeur sur un long int (parfois appelé SDWORD dans certaines versions des docs ODBC), pas un pointeur vers un SQLINTEGER. Vérifiez le type de la variable dont vous transmettez l'adresse et mettez-la à jour si nécessaire.

Partagez et appréciez.

+0

Cela n'a pas fonctionné mais voici la méthode SqlGetData – user475529