IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

problème avec sqllite sous linux


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 0
    Points
    0
    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
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    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);
    		}
    	    }
    	}

Discussions similaires

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

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