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

Dotnet Discussion :

Fonction LIKE en C#


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut Fonction LIKE en C#
    Salut à tous.
    j'utilise pour la première fois la fonction LIKE pour le développement d'une application C# avec BD Access.
    L’exécution de la requête directement dans le sql Access me donne le résultat souhaité. Quand j’exécute la requête dans Visual studio j'obtiens 0 comme résultat tandis la BD est bien renseignée. Alors je sollicite votre aide afin d'avance ma programmation.

    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
     
    //Controle des caractères speciaux dans les libellés
     
     
                    string requete_nom = " select count(nom) as comptenom from virement where nom like '*e*' ";
                      OleDbDataReader lire_nom = cls.ouvrirRequète(requete_nom, maconnexion);
                      try
                      {
                          while (lire_nom.Read())
                          {
     
                              int compt = Convert.ToUInt16 (lire_nom["comptenom"]);
                              MessageBox.Show(Convert.ToString( compt));
                              if (compt > 0)
                              {
                                  string[] lineslib = {" " + compt + " " + " " + " Caractères speciaux presents dans le fichier " };
                                  System.IO.File.AppendAllLines(Application.StartupPath + "\\erreur_confrere.txt", lineslib);
                              }
                              else
                              {
                                  TXTSOURCEBIAO.Text = "";
                              }
     
     
                          }
     
                      }
                      catch (Exception ex)
                      {
                          MessageBox.Show(ex.Message);
                      }

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    vérifie que c'est bien la bonne base de données que tu interroge, que ça ne soit pas une copie faite quelque part, là ou il y a l'exe par exemple.

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Salut sevyc64.
    Merci pour ta réponse.

    Ma base de données se trouve dans le chemin d'accès suivant et ce n'est pas une copie vu que je fais plusieurs requêtes avant celle contenant la fonction LIKE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Ma base de données se trouve dans le répertoire debug
    public static string chaine = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\bdtest.accdb";

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    Ok, tu es en C# et ta base de données se trouve dans Application.StartupPath, elle est donc dans le même répertoire que l’exécutable.

    Ce qui signifie, en C#, lorsque le logiciel est exécuté depuis l'IDE, que c'est la base qui est dans le dossier TonProjet/Bin/Debug (ou TonProjet/Bin/Release, suivant le mode de compilation) qui est utilisée, et non pas celle (comme font beaucoup développeurs et se font avoir) qui est dans le dossier TonProjet, avec les sources du logiciel.

    Ce qui signifie aussi que, suivant le paramétrage des propriétés du fichier (s'il est intégré au projet, évidemment) que le fichier se trouvant dans le dossier d’exécution peut être systématiquement écrasé par celui qui se trouve dans el dossier des sources à chaque lancement de l’exécution depuis l'IDE, supprimant de fait les modifications faites aux données lors d'une exécution précédente.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 119
    Billets dans le blog
    1
    Par défaut Requête access
    Essaye de changer la requete !

    remplace ......LIKE "*e*" par ....LIkE "%e%"


    Pour infos Le LIKE c est du SQL non pas du C# , je crois !

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Salut Lakhdr
    d'après mes recherches le sql d'access ne prend pas compte ....LIkE "%e%" mais plutôt ......LIKE "*e*".
    tu peux faire des tests et me revenir.

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

Discussions similaires

  1. la fonction like
    Par ouadie99 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/03/2008, 14h18
  2. AIDE SUR REQUETE SQL AVEC FONCTION LIKE
    Par everblue dans le forum Langage SQL
    Réponses: 0
    Dernier message: 16/03/2008, 19h56
  3. SQL fonction LIKE
    Par doogybreton dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 10/12/2007, 18h55
  4. Quid sur la fonction LIKE
    Par LiloBzH dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/09/2007, 19h35
  5. fonction LIKE Mysql
    Par franfr57 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/05/2006, 20h22

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