[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] MySQL et C



Marc Raeymaekers wrote:

Bonjour, bonsoir,

Toujours avec mon étude sur SQL. Je souhaiterais faire une interface graphique
avec GTK+ de ma base de données, mais pour cela, il me faut coder un programme
en C.
Et c'est là que Perl marque d'énormes points par rapport au C: le traitement des
chaînes de caractères. Je sais ce n'est pas une découverte, puisque c'est pour
ça que Perl a été créé.

Par exemple:

mysql_query(&mysql,"INSERT INTO eleve VALUES(NULL,1,2,1,5,2)");

fonctionne convenablement, mais par contre lorsque que je veux passer ces
valeurs par des variables, cela ne fonctionne pas du tout:

/* toutes les déclarations sont faites auparavant */
val1=1;
val2=2;
val3=1;
val4=5;
val5=2;
mysql_query(&mysql,"INSERT INTO eleve VALUES(NULL,val1,val2,val3,val4,val5)");

Normal ça ;)) c'est une biesse string, tu ne mets pas du tout le contenu des variables ;)



là par contre, rien ne fonctionne.

Je me suis dit que j'allais essayer avec un sprintf().

char *string;

et le malloc il sent le paté? ;)


sprintf(string,"INSERT INTO eleve
VALUES(NULL,%d,%d,%d,%d,%d)",val1,val2,val3,val4,val5);
mysql_query(&mysql,string);

Je ne vais quand même pas passer par une cascade de strcat() (plus la conversion
de int en caractères) pour construire la chaîne de caractères à envoyer à mysql_query().

Non un malloc ça suffit ;)


--
 Cédric Gavage <cedric.gavage@linuxbe.org>
 [www] http://linuxbe.org - http://bsdbe.org


[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php     ]
[ Archives de la mailing list: http://archives.linuxbe.org/linux/  ]
[ http://LinuxBe.org              Contact: listmaster@linuxbe.org  ]