p
u
b
l
i
c
i
t
é
publicité
  1. #1

    Inscrit en
    août 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 394
    Points : -25
    Points
    -25

    Par défaut problème avec sqllite sous linux

    bonjour à tous le monde voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    #include <stdio.h> 
    #include <stdlib.h> 
    # include <sqlite3.h> 
     
    static int callback(void *NotUsed, int argc, char **argv, char **azColName){ 
        int i; 
        for(i=0; i<argc; i++){ 
          printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); 
        } 
        printf("\n"); 
        return 0; 
      } 
     
    int main() 
    { 
     sqlite3 *db; 
    int rc; 
    char * errMsg; 
    rc=sqlite3_open("test1.db",&db); 
        printf("Hello world! adel\n"); 
     
        if (rc) 
        { printf("connexion null \n"); 
     
     
            } 
            else 
            { 
     
     
            printf("connexion réussi \n"); 
             sqlite3_close(db); 
            } 
     
     
    sqlite3_exec(db,"CREATE TABLE table1 (id INTEGER, nom varchar(30), prenom varchar(30))" ,NULL, NULL, &errMsg);
    //printf(%c,
     
    //CREATE TABLE table1 (id INTEGER, nom varchar(30), prenom varchar(30);
    //sqlite> INSERT INTO table1 values(42, "trax", "traxou"); 
     
     
         //fprintf(stderr, "SQL error: %s\n",errMsg ); 
         sqlite3_exec(db,"INSERT INTO table1 values(42, 'trax', traxou')",NULL, NULL, &errMsg);
    //printf(%d,&errMsg); 
         sqlite3_exec(db,"select * from table1",callback, 0, &errMsg); 
     
    }
    le problème est que il n'affiche rien
    le ficher .db est vide
    merci

  2. #2
    Expert Confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    1 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 1 743
    Points : 3 124
    Points
    3 124
    Billets dans le blog
    2

    Par défaut

    bonjour.

    Pour commencer si tu crées un fichier .db tu le fermes ensuite ligne 33. Il est difficile par la suite de créer des tables et de faire toute autre opération dessus.

    Ensuite ligne 45 tu as oublié un guillemet simple pour la donnée traxou.

    Une fois réglé ces deux petits problèmes tout fonctionne pour le mieux

    Remarque : pense à prendre en compte les erreurs émises par sqlite. Ca pourrait donner ce genre de choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
          rc = sqlite3_exec(db,"CREATE TABLE table1 (id INTEGER, nom varchar(30), prenom varchar(30))" ,NULL, NULL, &errMsg);
          if (rc!=SQLITE_OK)
    	{
    	  fprintf (stderr, "SQL error: %s\n", errMsg);
    	  sqlite3_free (errMsg);
    	}
          else
    	{
     	  rc = sqlite3_exec(db,"INSERT INTO table1 values(42, 'trax', 'traxou')",NULL, NULL, &errMsg);
    	  if (rc!=SQLITE_OK)
    	    {
    	      fprintf (stderr, "SQL error: %s\n", errMsg);
    	      sqlite3_free (errMsg);
    	    }
    	  else
    	    {
    	      rc = sqlite3_exec(db,"SELECT * FROM table1",callback, 0, &errMsg); 
    	      if (rc!=SQLITE_OK)
    		{
    		  fprintf (stderr, "SQL error: %s\n", errMsg);
    		  sqlite3_free (errMsg);
    		}
    	    }
    	}
    Système d'exploitation : Debian Amd64 Testing

    Site perso : http://gerald3d.developpez.com (article Glade3 et Gtk+)

    Site perso : http://linechec.sourceforge.net (jeu d'echec) v0.4-1
    Site perso : http://m3dlib.tuxfamily.org/ (moteur 3d. Rendu dans un GtkDrawingArea avec utilisation de Cairo.) v0.26

    contact jabber : gerald3d@jabber.tuxfamily.org

Discussions similaires

  1. [Lazarus] Problème avec Tpagecontrol sous Linux
    Par Stbiotyk dans le forum Lazarus
    Réponses: 0
    Dernier message: 29/05/2010, 08h56
  2. problème avec internet sous linux
    Par alienware1994 dans le forum Linux
    Réponses: 0
    Dernier message: 17/11/2009, 00h15
  3. probléme avec sprintf() sous linux
    Par moooona dans le forum C++
    Réponses: 5
    Dernier message: 11/04/2008, 01h48
  4. Problème avec .htaccess sous Linux
    Par Mo_Poly dans le forum Apache
    Réponses: 5
    Dernier message: 03/02/2008, 14h38
  5. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo