begin process at 2012 02 11 23:19:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

Autre

 > 

sqlite3 en C :: resultat de "select ..."


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

sqlite3 en C :: resultat de "select ..."

vendredi 14 novembre 2008 à 14:42:39 | sqlite3 en C :: resultat de "select ..."

goldziko9

Bonjours a tous .

      mon probleme et le suivant : 
            j'ai fait un exe de test pour manipuler une base de donner Sqlite3 et voici le code :


#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
#include <string.h>


struct line
{
 char *valeur1;
 char *valeur2;
};

static struct line list_db[100];
static int count_line = 0;

static int callback(void *output, int argc, char **argv, char **azColName)
{
 //printf(" |-------> %s, %s \n", argv[0] ? argv[0] : "Rien", argv[1] ? argv[1] : "Rien");
 list_db[count_line].valeur1 = argv[0];
 list_db[count_line].valeur2 = argv[1];
 count_line += 1;

 return 0;
}

struct info_perso
{
 char nom[30];
 char prenom[30];
 int y_birth;
};

struct info_perso get_info(void)
{
 struct info_perso perso_info;
 int i;
 printf("Votre nom : "); scanf("%s",&perso_info.nom);
 printf("Votre prenom : "); scanf("%s",&perso_info.prenom);
 printf("Votre annee de naissance : "); scanf("%d", &perso_info.y_birth);
 for (i = 1; i<=20; i++)
  printf(" ");
 for (i = 20; i<=60; i++)
  printf("_");
 printf("\n");
 return perso_info;
}

void list_data(sqlite3 *sqlite)
{
 char *zErrMsg;
 sqlite3_exec(sqlite, "select nom,prenom from perso", callback, 0, &zErrMsg);
 printf("En total : %d.\n", count_line);
 for(int i=0; i<=count_line-1; i++)
 {
   printf("%d :: %s, %s \n", i, list_db[i].valeur1, list_db[i].valeur2);
 }
}


int main(int argc, char ** args)
{
 sqlite3 *db;
 int rc;
 char *zErrMsg;
 struct info_perso moi;
 char sql[256];
 

 #ifdef _WIN32
 system("cls");
 #else
 system("clear");
 #endif
 for (int i = 0; i<=79; i++)
  printf("_");


 moi = get_info();

 rc = sqlite3_open("sqlite_test.db", &db);
 if(rc) { printf("Impossible d'ouvrir ou de cree la table !!\n"); return 0; }
 
 if(sqlite3_exec(db, "create table if not exists perso(nom varchar(20), prenom varchar(20));", callback, 0, &zErrMsg))
  printf("Message de retour : %s\n",zErrMsg);

 strcpy(sql,"INSERT INTO perso(nom,prenom) VALUES ('");
 strncat(sql, moi.nom,strlen(moi.nom));
 strncat(sql, "','", 4);
 strncat(sql, moi.prenom, strlen(moi.prenom));
 strncat(sql, "');", strlen("');"));

 printf("sql :%s\n", sql);

 rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
 if(rc) { printf("Message de retour : %s\n",zErrMsg); return 0; }

 list_data(db);

 sqlite3_close(db);
 printf("\n\n\rla vie est belle.\n");

 for (int h = 1; h<=80; h++)
  printf("_");
 printf("\n");
 return 0;
}


Le compilateur compile avec success , sauf que le tableau de structure list_db ne contien que la dernier valeur retourné par la SQL : select ... .

si vous avez des remarque sur le code ou une idee, je suis preneur .


ok that's good !!

vendredi 14 novembre 2008 à 16:06:17 | Re : sqlite3 en C :: resultat de "select ..."

goldziko9

Salut
   Personne n'a une idee ??!!!
      c'est grave !!
            ou
                  Y a pas d'autre solution pour utiliser cette base de donner dans SQLITE ??????

Merci d'avance.

ok that's good !!

samedi 15 novembre 2008 à 12:19:48 | Re : sqlite3 en C :: resultat de "select ..."

goldziko9

Réponse acceptée !

Hello every body !!

      Bon j'ai trouvé une autre solution pour resoudre de problem voici le code :


#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

int main(int argc, char **argv)
{
 printf("like an eagle !!\n");

 sqlite3 *sqlite;
 sqlite3_stmt *sqlite_stm;
 char  *gg;
 sqlite3_open("sqlite_test.db",&sqlite);
 sqlite3_prepare(sqlite, "select nom,prenom from perso", 1024, &sqlite_stm, &gg);
 while(sqlite3_step(sqlite_stm)  == 100)
 {
  const unsigned char *s1 = sqlite3_column_text(sqlite_stm, 0);
  const unsigned char *s2 = sqlite3_column_text(sqlite_stm, 1);
  printf("Nom : %s, Prenom : %s.\n", s1, s2);
 }
 sqlite3_finalize(sqlite_stm);
 sqlite3_reset(sqlite_stm);
 sqlite3_close(sqlite);
 return 0;
}


et ça marche nikel !!

bonne chance a ceux qui ont eu le meme probleme.

ok that's good !! The Story is True ...



Cette discussion est classée dans : int, db, printf, perso, info


Répondre à ce message

Sujets en rapport avec ce message

Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Bitwise... [ par MeltedMind ] Wise ou not wise là est la question.Je me demandais... sur le fonctionnement primaire de nos petites machines. 1+ 1 = 10, c'est bien connu mais comme demande de correction de programme [ par gemini010 ] slt a tous, je dois créer un programme avec differente fonctions et structures permettant de gerer des etudiants ( on doit pouvoir ajouter des enregis concatenation [ par asmv ] //a partir d'elements de tableau 'int' transformes en 'char'//essai de concatenation qui ne fonctionne pas pourquoi ?//merci pour votre aide#include # aide pour une liaison serie [ par punch95 ] J'ai trouvé un source c pour une liaison serie d'un beck sc12 et j'aimerai que l'on me commente le source si c possible merci./*********************** sturnarbo [ par sturnarbo ] ENONCE:/*Ecrire un programme qui range les éléments d'un tableau A du type int dansl'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et u [C] lecture d'un fichier [ par GazGaz ] lu allalors voila en fait je lis un fichier en c et le probleme c'est que ce fichier est composé de lignes dont la taille exècede largement les 80 car Probleme de reception dans un serveur visual C++ pour windows [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi.voici les source du client et du serveurLe Serveur Problem Affichage de mon Tableau [ par Orezza ] salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le Blem Somme ELmt d'un Tableau Bidimensionnel [ par Orezza ] Slt c encore moi, le boulet de l'info...c tjrs le meme prog mais cette fois ci j'aimerais afficher la somme des elmts de mon tableaux.#include #includ


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 : 1,482 sec (3)

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