2016-12-08 1 views
0

J'ai un programme simple qui lit les données d'une base de données, j'utilise ODBC, mais je veux enregistrer les données ou une rangée dans un tableau. Je l'ai enregistré dans un SQLPOINTER col [50]. Comment puis-je retourner la totalité de la baie? C'est possible? NB, je ne veux pas imprimer les données dans le tableau, je veux simplement les valeurs dans le tableau (j'en ai déjà), et retourner le tableau entier pour que quiconque appelle la fonction ait les données dont il a besoin la base de données. Quelqu'un peut-il offrir des conseils? Je suis en quelque sorte un novice, alors s'il vous plaît ayez un peu de patience :-) Merci beaucoup. La fonction que j'ai est:Comment puis-je retourner un tableau SQLPOINTER en C?

SQLPOINTER ColPtrArray[50] 
SQLPOINTER db_getData(SQLHSTMT handle) 
{ 
    retcode = SQLFetch(handle); 
    CHECK_ERROR(retcode, "SQLFetch()", handle, SQL_HANDLE_STMT); 
    if(retcode == SQL_SUCCESS) 
    { 
     printf("\nSQL_SUCCESS\n"); 
     return ColPtrArray; 
    } 

    exit: 
    printf("JJJ"); 
} 

peut le travail de retour? Comment l'appelant peut-il gérer le tableau renvoyé? Lorsque SQLFETCH est exécuté, le tableau est rempli avec les valeurs de la table. Cette fonction, je n'ai pas inclus. Oui, tous les chemins ne renvoient pas de valeur. Merci d'avoir fait remarquer cela.

+1

Non, vous ne pouvez pas retourner un tableau entier dans C. BTW votre code est de toute façon non-sens, vous retournez ColPtrArray, mais vous ne mettez rien dans ce tableau. Veuillez mettre à jour votre question afin qu'elle soit logique. –

+0

Tous les chemins de contrôle ne renvoient pas de valeur. –

+0

Lorsque SQLFetch est exécuté, le tableau est rempli avec les valeurs d'une table. J'ai la liaison de colonne dans une autre fonction. –

Répondre

0

Je l'ai résolu. Pour le gars qui a dit que mon code n'a aucun sens, merci pour le commentaire inutile, mais il a raison. Je ne peux pas retourner un tableau entier. Ce que j'ai fait est de passer dans un tableau comme l'un des arguments et copié les valeurs du tableau dans le tableau qui a été passé. J'ai également changé que tous les chemins renvoyaient une valeur. Merci d'avoir fait remarquer cela. Peut-être que ce n'est pas la meilleure solution, qu'en pensez-vous?