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

Langage Delphi Discussion :

Problème avec locate


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Points : 134
    Points
    134
    Par défaut Problème avec locate
    Bonjour a tous!
    Je développe en Delphi et j'ai un souci avec le résultat d'une fonction locate.
    Avec l'instruction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    locate('propriete1;propriete2',vararrayof(['critere1,critere2']),[])
    la fonction me renvoie des résultats mais sans tenir compte de la casse. Pourtant je n'ai pas utilisé l'option LocaseInsensitive.

    Quelqu'un pourrait m'aider?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 556
    Points : 25 139
    Points
    25 139
    Par défaut
    Quelle DB ? Quel Provider\Driver ? Quel Composant ?
    Paradox-BDE-BDE
    MySQL-ODBC-ADO
    ...

    Certaines base de données comme MySQL ne sont pas sensible à la casse par défaut !

    Je n'utilise pas souvent le locate et en général, je l'utilise en Insensitive, du coup, je n'ai jamais trop fait attention à ce genre de problème !

    Tu as bien vérifier que Locate renvoie True

    Essaye avec un Lookup ou Filter à la place !

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Points : 134
    Points
    134
    Par défaut
    Oui mon locate retourne true.
    J'utilise BDE et ODBC sur ACCESS.
    Quand je fais un simple locate('propriete1','critere1',[]) j'ai le bon résultat! Ce qui me laisse dire a priori qu'ACCESS reste sensible à la casse.

    C'est avec j'introduit vararrayof pour faire la recherche sur deux propriétés en même temps que la problème se pose.

    En fait je l'utilise sur un formulaire pour connexion aux comptes Utilisateur

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 556
    Points : 25 139
    Points
    25 139
    Par défaut
    Cela pourrait être l'implémentation mutli-paramètre dans la couche OBCD d'ACCESS ?

    Tu l'utilise pour la connexion ?
    Tu ne devrais pas ouvrir la table des Users comme cela, évite le TTable, utilise des TQuery dédiés ne fournissant que le minimum de ligne, nettement mieux pour les perfs !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'SELECT * FROM Users WHERE propriete1 = :critere1 and propriete2 = :critere'
    Voir les requêtes paramètrées et ParamByName du TQuery

    Tu devrais priviliéger ADO, il peut se connecter directement sur le driver ODBC, et du coup ne nécessite pas d'installer le BDE, cela allégerait ta procédure de déploiement !

    Le passage de l'un à l'autre, peut se faire très vite ! suffit de remplacer TTable et TQuery par TADODataSet et TADOQuery !
    Reste plus qu'à trouver la chaine de connexion

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Points : 134
    Points
    134
    Par défaut
    Merci Troll.
    T'u m'en apprend avec les composants ADO il m'est jamais arrivé de les utiliser.
    Je vais revoir tout sa avec mon application

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

Discussions similaires

  1. [Bash] Problème avec locate dans un script
    Par kopros2 dans le forum Administration système
    Réponses: 2
    Dernier message: 07/12/2011, 07h06
  2. problème avec package optionnel "microedition.location" sur nokia 6630
    Par pti_val dans le forum Développement Mobile en Java
    Réponses: 0
    Dernier message: 20/02/2009, 15h54
  3. [legend] Problème avec l'argument "Location"
    Par botti23 dans le forum MATLAB
    Réponses: 1
    Dernier message: 08/05/2007, 17h40
  4. Problème avec opener.location.reload
    Par Joooooon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/06/2006, 18h58
  5. Réponses: 24
    Dernier message: 20/05/2006, 12h29

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