Salut
j'utilise là même requête que cette exemple ça fonctionne bien.
mais mon souci c’est l’insertion sur la base, je peu rentre que des chiffres je n'arrive pas à entrer des caractères ça me donne un message d'erreur.
J’ai mis en bleu les deux sources de mon problème, quelqu’un peu m'aidé?
strcpy ( requete, "INSERT INTO ");
strcat ( requete, NameTable);
strcat ( requete, " (");
strcat ( requete, Colonne);
strcat ( requete, ")");
strcat ( requete, " VALUES ");
strcat ( requete, "(");
strcat ( requete, "7,jean,1" );
strcat ( requete, ")");
// Connexion à la base de données
retcode=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
retcode=SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3,0);
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
retcode=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
retcode=SQLConnect(hdbc, (SQLCHAR*)ServeurODBC, SQL_NTS, (SQLCHAR*)LoginAdmin, SQL_NTS, (SQLCHAR*)PwdAdmin, SQL_NTS);
else
{
MessageBox(hWndMain,"Impossible de se connecter à la base de données","Erreur",MB_OK|MB_ICONERROR);
return;
}
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
retcode=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
/* REQUETE DE SELECTION DE LA LISTE DES CLIENTS */
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode=SQLExecDirect(hstmt, (SQLCHAR*)requete, SQL_NTS);
// Pour le debug
MessageBox(hWndMain,requete,"DEBUG",MB_OK|MB_ICONINFORMATION);
if( retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO )
{
// OK
}
else
{
sprintf( Erreur, "Impossible d'executer la requete ! code => %x", SQL_ERROR);
MessageBox(hWndMain,Erreur,"Erreur",MB_OK|MB_ICONERROR);
break;
}