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

VB.NET Discussion :

Tester une instruction sqlite


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut Tester une instruction sqlite
    Bonsoir à tous !

    J'utilise SQLite pour un projet VB.NET.

    Grâce à une form, j'effectue une insertion dans une table. Le problème, c'est que j'aimerais tester si la valeur que j'ajoute à la table (un nom par exemple) n'est pas déjà présente dans cette table.

    Je pense que je dois me tourner vers les booléens (comme en php avec !$variable ) mais naturellement, je n'ai pas d'idée et je ne pense pas avoir trouvé d'aide plus approfondie sur le sujet !

    Merci !

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 200
    Par défaut
    je ne connais pas sqllite mais s'il respecte les normes sql, tu dois pouvoir définir une clause d'unicité sur une colonne
    ou sinon y a ptete un IF EXISTS()
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Héhé, je crois que j'ai trouvé une solution !

    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
    Dim SQLconnect As New System.Data.SQLite.SQLiteConnection()
        	    Dim SQLcommand As SQLiteCommand
        	    Dim resultpresence as Boolean
        	    resultpresence = False
     
        	    SQLconnect.ConnectionString = "Data Source=data.db3;"
           	        SQLconnect.Open()
           	 	SQLcommand = SQLconnect.CreateCommand
           	 	SQLcommand.CommandText = "SELECT * FROM members"
        	    Dim SQLreader As SQLiteDataReader = SQLcommand.ExecuteReader()
         	    While SQLreader.Read()
                    If SQLreader(0) = name Then
                    	resultpresence = true
                    End If
          	    End While
          	    msgbox(resultpresence)
    Pour l'instant, ça peut paraître obscur mais je crois que ça marche !
    Je me suis en fait inspiré d'une boucle que j'avais trouvée pour remplir une liste à partir d'une bdd SQLite.
    Donc là ça me renvoie bien true si l'enregistrement est détecté sinon, ça me renvoie false !

    Merci de m'indiquer si ça semble correct et puis je mettrai résolu !

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 200
    Par défaut
    tu as encore beaucoup à apprendre, je te conseile de trouver quelques tutos sql
    et de réfléchir au mot optimisation
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Heu ... je n'en doute pas !
    Mais, pour quelle raison ? (je veux dire par rapport au code que j'ai fourni)

    SQLite ne propose pas beaucoup de fonctions en fait ... j'ai peut-être fait une erreur dans le choix du type de BDD !

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 200
    Par défaut
    au lieu de faire une requete qui retourne toutes les lignes et de parcourir toutes ces lignes pour vérifier si on trouve ce qu'on cherche
    en général on fait une requete qui cherche directement, et on vérifie juste si la requete des lignes
    (clause where)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Ah oui d'accord, je vois, un peu comme en php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $var = mysql_query("SELECT * FROM table WHERE id='".$idcherche."'");
    $fvar = mysql_fetch_array($var);
    if(!$var)
    {
    echo "problème !";
    }
    else
    {
    echo "tout va bien";
    }
    Le problème, c'est que je n'est rien trouvé de très semblable dans les aides pour vb.net et les bases sql .

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ben c'est le même principe, tu mets un WHERE dans ta requête et tu vérifies si ça renvoie un résultat...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Ok, merci pour vos réponses à tous les deux !
    Je vais faire des ptits tests, après tout, c'est la meilleure façon de progresser !

Discussions similaires

  1. [Lazarus] Tester si une table existe dans une base Sqlite
    Par ovni76 dans le forum Lazarus
    Réponses: 7
    Dernier message: 16/10/2014, 20h54
  2. Une instruction s'execute qd on appuie sur entree
    Par nbutin dans le forum C++Builder
    Réponses: 1
    Dernier message: 17/08/2004, 00h48
  3. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56
  4. [Débutant] Tester une connection sur bdd
    Par lando dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2003, 14h37
  5. Passer de la zone d'édition vers une instruction sql
    Par tripper.dim dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 14h44

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