Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > SQLite
SQLite Forum d'entraide SQLite
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2010, 08h32   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 367
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 367
Points : 65
Points : 65
Par défaut Base et table existantes

Bonjour

Comment vérifier l'existence d'une base et d'une table SQLite dans une application

Merci pour vos réponses
JCM
JCMANSION est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 08h37   #2
Membre actif
 
Inscription : décembre 2004
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 169
Points : 175
Points : 175
Bonjour,

Pour la présence de la base, dans un premier temps tu testes la présence du fichier sur le disque.

Si tu as ouvert une connexion à cette base, alors tu peux demander la présence d'une table système ou utiliser cette requête :
Elle te donnera les colonnes suivantes :
seq = numéro d'ouverture de la base, en gros son handle interne.
name = nom de la base (pour la principale = "main")
file = nom du fichier de la base

Pour la présence d'une table tu peux tenter la chose suivante :

Code :
1
2
3
4
5
6
7
 
sqlite> SELECT * FROM sqlite_master;
    type = TABLE
    name = essai
tbl_name = essai
rootpage = 2
     sql = CREATE TABLE essai (a int, b text NOT NULL)
Sinon, je t'ai préparé une requête aux petits oignons :
Code :
1
2
3
4
5
SELECT case when (
  SELECT 1 
  FROM sqlite_master 
  WHERE type = 'table' AND name='essai'
) IS NULL then 0 else 1 end AS table_existe;
Dans cet exemple, la fonction retourne 1 si la table "essai" existe, sinon 0.
Je préfère retourner un 0 plutôt qu'un null, c'est plus simple à tester.

++
bigane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 15h30   #3
Membre du Club
 
Inscription : novembre 2007
Messages : 367
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 367
Points : 65
Points : 65
Merci pour ta réponse
et surtout pourcet exemple aux petits oignons
JCM
__________________
PAPI
JCMANSION est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h24.


 
 
 
 
Partenaires

Hébergement Web