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 :

Problème de quotes VB Net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Par défaut Problème de quotes VB Net
    Bonjour bonjour,

    Je développe un programme sous Vbnet, et il me met une erreur dans mon fichier de connexion. Lorsqu'il exécute la requête, il ne trouve rien, alors que si je remplace mon '" & Appartement.num_app.Text & "' par un chiffre, cela fonctionne.

    Voici la partie de mon code de connexion où il y a la requête :
    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
    'Ouverture de connexion à la base
                sql = "select client.num_cli, nom_cli, pre_cli, rue_cli, cp_cli, ville_cli, num_app, rue_app, cp_app, ville_app from CLIENT, APPARTEMENT where CLIENT.num_cli = APPARTEMENT.num_cli and num_app like '" & Appartement.num_app.Text & "';"
                commande = New OleDbCommand(sql)
                lien = New OleDbDataAdapter(commande)
                commande.Connection = con
                'La méthode Fill de l'objet ODbAdapter permet de remplir le Dataset
                'le dataset s'appelle "liste des clients" qui est le nom de l'espace mémoire
                'le DataSet peut travailler en mode déconnecté
                lien.Fill(dtset, "Liste des clients locataires de l'appartement")
    
                '-----------maximum
                'Avant de fermer récupération du maximum d'enregistrement
                max = "select client.num_cli, nom_cli, pre_cli, rue_cli, cp_cli, ville_cli, num_app, rue_app, cp_app, ville_app from CLIENT, APPARTEMENT where CLIENT.num_cli = APPARTEMENT.num_cli and num_app like '" & Appartement.num_app.Text & "';"
    
                'Execution de la requête du maximum et récupération du résultat de la requête
                commande = New OleDb.OleDbCommand(max, con)
                max_num = (commande.ExecuteScalar)
    
                '------------nb total d'enregistrements
                'Avant de fermer récupération du total d'enregistrements
                nb = "select client.num_cli, nom_cli, pre_cli, rue_cli, cp_cli, ville_cli, num_app, rue_app, cp_app, ville_app from CLIENT, APPARTEMENT where CLIENT.num_cli = APPARTEMENT.num_cli and num_app like '" & Appartement.num_app.Text & "';"
                'Execution de la requête du nombre total d'enregistrements et récupération
                commande = New OleDb.OleDbCommand(nb, con)
                nb_num = (commande.ExecuteScalar)
    Merci de votre aide
    Cordialement

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Hello ^^

    Retire les symbôles ', cela devrait marcher. Là tu passes une chaîne de caractère alors qu'il attend un entier je pense.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Par défaut
    Je les ai supprimé, et du cou il me met une erreur à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      lien.Fill(dtset, "Liste des clients locataires de l'appartement")
    me disant qu'il y a :
    Erreur de syntaxe (opérateur absent) dans l'expression 'CLIENT.num_cli = APPARTEMENT.num_cli and num_app like'.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Pour continuer dans la logique de sebnantes, quel est le type de la colonne num_app ?
    LIKE est un prédicat des chaînes pas des valeurs numériques. Si num_app n'est pas une chaîne, l'erreur vient peut être de là.

    Autre remarque, si c'est effectivement une chaîne, tu n'utilises pas de % en début et en fin de requête. Faire un LIKE sans, ça n'a pas d'intérêts.

    Au final, c'est quoi & "';" à la fin de tes requêtes ?

  5. #5
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Par défaut
    num_app.text est une valeur qu'il va chercher dans une de mes interfaces, et num_app dans ma bdd est un numéro automatique.

    J'utilisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '" & Appartement.num_app.Text & "'
    avec VB6, et ça fonctionnait, du cou j'ai cherché sur les forum du net et avec ma prof, et en vb net apparemment ça fonctionne pareil.

    Certains mettent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '" + Appartement.num_app.Text + "'
    , mais le résultat est le même, il ne trouve pas la valeur.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Citation Envoyé par lola90_7 Voir le message
    num_app.text est une valeur qu'il va chercher dans une de mes interfaces, et num_app dans ma bdd est un numéro automatique.

    J'utilisais avec VB6, et ça fonctionnait, du cou j'ai cherché sur les forum du net et avec ma prof, et en vb net apparemment ça fonctionne pareil.

    Certains mettent , mais le résultat est le même, il ne trouve pas la valeur.
    ça ne répond pas à mon post. Le fait de concaténer avec & ou + ne change rien ; c'est d'ailleurs pas çà le problème. Quel est le type de la colonne num_app ?
    Si c'est un entier, le LIKE ne marchera pas !
    Que veux tu faire ? une recherche exacte ? une recherche approchée ?

  7. #7
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Par défaut
    num_app est dans ma bdd access de type "numéro-auto", donc je pense qu'il le considère comme un entier.
    Ma requête me permet de rechercher mes valeurs, que j'afficherai ensuite dans une interface de mon programme. Il faut donc qu'elle soit exacte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de quote avec XPath
    Par fadjerx dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/03/2006, 14h45
  2. [AJAX] Ajax et ASP.NET
    Par boleduch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2006, 16h15
  3. [JS] Problème de quotes pour enregistrer un formulaire.
    Par polnioumane dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/10/2005, 17h04
  4. Problème de quotes sous PostGre
    Par Philhz dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/07/2004, 13h03
  5. Problème de quote
    Par kennini dans le forum ASP
    Réponses: 4
    Dernier message: 20/11/2003, 09h40

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