begin process at 2012 02 12 10:31:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Fonction Strcat


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction Strcat

vendredi 10 avril 2009 à 15:24:46 | Fonction Strcat

ydu

Bonjour,

j'utilise dev C++, vous trouverez ci-dessous une partie de mon code et la compil bloque sur la fonction Strcat

Pouvez vous me dire ce qui ne va pas svp ?

J'ai bien déclaré string.h

int main(int argc, char *argv[])
{
char groupe[5];
char test1[50];
char test[100];
printf ("Quel Groupe souhaitez vous analyser ?\n");
scanf("%s",&groupe);

test1="SELECT * FROM base WHERE CODNIV=";
test=strcat(test1,groupe);

ydu

vendredi 10 avril 2009 à 15:32:22 | Re : Fonction Strcat

Pistol_Pete

Salut
Il y a plein d'erreur dans ce petit code:
scanf("%s",groupe); Il ne faut pas le & car groupe est déjà un pointeur
On ne copie pas un tableau comme tu essaye de le faire, on fait:
strcpy(test1,"SELECT * FROM base WHERE CODNIV=");
et enfin strcat(test1,groupe); suffit sinon tu essayes d'égaler 2 pointeurs

A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

vendredi 10 avril 2009 à 16:34:27 | Re : Fonction Strcat

ydu

Merci beaucoup pour ta réponse, j'ai corrigé certain points que tu as mentionné.

Voila le fameux de l'histoire, le code ci dessous fait une requete SQL sur une base Access

la ligne de ma requete à savoir:
char szSql[256] = "SELECT * FROM base WHERE CODNIV='00684'";

je voudrai rendre dans cette requête CODNIV variable grace a ce que saisie l'utilisateur (variable groupe)

J'ai vue que cela était ^possible grace à la fonction strcat

Merci de votre aide

*********************
/* Connexion et execution de requete sur un base de donnees Microsoft Access */
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <string.h>

#pragma comment(lib, "odbc32.lib")

int main(int argc, char *argv[])
{
char groupe[5];
char test[50];

printf ("Quel Groupe souhaitez vous analyser ?\n");
scanf("%s",groupe);

strcat(strcpy(test,"SELECT * FROM base WHERE CODNIV="),groupe);

    HENV hEnv;
    HDBC hDbc;
    RETCODE rc;

    int iOut;
    char strOut[256];
    char szDSN[256] = "driver={Microsoft Access Driver (*.mdb)};dbq=[ydu.mdb];";

    /* char szSql[256] = "SELECT * FROM base"; */
    char szSql[256] = "SELECT * FROM base WHERE CODNIV='00684'";
    /* char szSql[256] = "SELECT * FROM base WHERE CODNIV='00684' and CODPRD='01.006'"; */

    int ret1;
    int ret2;
    int ret3;
    int ret4;
    int ret5;

    char CODNIV[128];
    char TYPNIV[128];
    char CODPRD[128];
    int PRODC;
    int OBJANNEE;

    /* 1 - Connexion a la BDD Access */
    rc = SQLAllocEnv(&hEnv);
    rc = SQLAllocConnect(hEnv, &hDbc);
    rc = SQLDriverConnect(hDbc, NULL, (unsigned char*)szDSN, SQL_NTS, (unsigned char*)strOut, 255, (SQLSMALLINT*)&iOut, SQL_DRIVER_NOPROMPT);


    /* 2 - Preparation de la requete */
    HSTMT hStmt;
    rc = SQLAllocStmt(hDbc,&hStmt);
    rc = SQLPrepare(hStmt,(unsigned char*)szSql, SQL_NTS);


    /* 3 - Execution de la requete (Apres avoir binder les champs de resultats) */
    /* rc = SQLBindCol(hStmt, tab_column, tr_type, tr_value, tr_len, len_or_ind); */
    rc = SQLBindCol(hStmt, 1, SQL_C_CHAR, CODNIV, 128, (SQLINTEGER*)&ret1);
    rc = SQLBindCol(hStmt, 2, SQL_C_CHAR, TYPNIV, 128, (SQLINTEGER*)&ret2);
    rc = SQLBindCol(hStmt, 3, SQL_C_CHAR, CODPRD, 128, (SQLINTEGER*)&ret3);
    rc = SQLBindCol(hStmt, 4, SQL_C_ULONG, &PRODC, 4, (SQLINTEGER*)&ret4);
    rc = SQLBindCol(hStmt, 5, SQL_C_ULONG, &OBJANNEE, 4, (SQLINTEGER*)&ret5);
    rc = SQLExecute(hStmt);

    /* IMPORTANT : Pour les requetes du style DROP/CREATE/UPDATE... */
    /*Vous pouvez utiliser :  rc = SQLExecDirectA(hStmt,(unsigned char*)szSql,SQL_NTS); */

    /* 4 - Boucle pour afficher les resultats */
    while(!(SQLFetch(hStmt) & 0xFFFE))
    {
    printf("{%s}{%s}{%s}{%i}{%i}\n",CODNIV, TYPNIV, CODPRD, PRODC, OBJANNEE);
    }

    /* 5 - Liberations et fermeture de la connection a la BDD */
    rc = SQLFreeStmt(hStmt, SQL_DROP);
    rc = SQLDisconnect(hDbc);
    rc = SQLFreeEnv(hEnv);

    getch();

    return 0;
}
****************************
ydu



Cette discussion est classée dans : fonction, char, strcat, groupe, test1


Répondre à ce message

Sujets en rapport avec ce message

probleme avec char et strcat :'( [ par paulina82 ] bonjour a tous. j'ai un probleme avec char er stract. enfaite j'ai fais 2 fonction. la 1ere qui doit initialisé un tableu avec une chaine de caracter strcat : fonction( char* buffer, int nb ); [ par wizard512 ] Bonsoir,Je souhaiterais savoir Si une fonction similaire a strcat() existerais,mais qui ajoute un entier ( int ) dans une pb de concaténation [ par beatrice84 ] Bonjour à tous !Je suis entrain d'écrire un programme de compression selon la méthode de shannon-fano.J'ai un petit problème car je n'arrive pas à con probleme avec une fonction de jointure des éléments de liste [ par cyrina84 ] bonjour à tous, j'ai un gros probleme dans ma fonction en Ccette fonction pren en entrée une liste chainée qui contient des couples de mots (exemple: aide sur la fonction sizeof [ par miki42 ] Bonjour a tous j'ai besoin d'un peu d'aide je debute en C et je ne comprend pa une petite portion de code que j'etudie en ce moment a savoir: [CODE] probleme strcat_s en release [ par LaTatadu91 ] Bonjour,Je me retrouve confronté à un probleme avec la fonction strcat_svoila ce qu'il se passe j'ai dans mon programme plusieurs appels a cette fonct fonction pour "écrire" une variable [ par kenjomaster ] Bonjour,J'arrive à positionner un curseur, faire un clic, simuler une ou plusieurs combinaisons de touches.Mais je ne sais pas écrire une variable (du concaténuation de chaine [ par romainbisson ] je voudrais mettre au bout d'une chaine de caractere (ligne) un caractere (caractere) donc j'utilise strcat mais il me donne les erreurs suivantes :Mo fonction system() accès refusé [ par fratleym ] Bonjour,oui je sais, la fonction system() c'est horrible mais bon là, je l'utilise surtout pour que ceux qui reprendront le code sachent à peu près ce


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,172 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales