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

Bases de données Delphi Discussion :

Clause ‘Like’ avec les données en arabe sous D2010


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 102
    Par défaut Clause ‘Like’ avec les données en arabe sous D2010
    Salut à tous

    Je utilise

    - Delphi 2010
    - base de données MDF (Microsoft SQL Server 2005)
    - Type de champ (NVARCHAR) pour afficher les données arabes sur DBGrid d’une manière correcte, par ce que lorsque choisir le type (VARCHAR) ou (CHAR) les données s’affiche comme des points d’interrogation

    Cette requête ça marche bien tan que saisie en français, s’affiche les enregistrements
    Mais au contraire en arabe

    Edit1.Text := ‘ن’ ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select * From PERS where NOM Like '''+ '%' + Edit1.Text + '%' + ''' Order By NUM');
    ADOQuery1.Open;
    Note : La requête ça marche avec caractères arabe sous une base de données ABS (Absolute Data Base) type de champ String

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 596
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Quelques pistes :

    en utilisant une requête paramétrée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select * From PERS where NOM Like :u Order By NUM');
    Adoquery1.params.Parambyname('u').value:='%'+Edit1.Text+'%';
    ADOQuery1.Open;
    autre possibilité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ADOQuery1.SQL.Add('Select * From PERS where NOM Like %:u% Order By NUM');
    Adoquery1.parameters.Parambyname('u').value:=Edit1.Text;
    AMHA il faudra peut être également encoder la valeur du paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Adoquery1.params.Parambyname('u').value:=UTF8Encode('%'+Edit1.Text+'%'); // ou  '%'+utf8Encode(Edit1.Text)+'%'
    ou encore, autre piste, en utilisant les paramètres il y a la possibilité d'en indiquer le type (parameters.parambyname('u').DataType:=ftwidestring ?)

  3. #3
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 102
    Par défaut Résolu
    Merci beaucoup pour la solution merveilleuse

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 596
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Powerdj Voir le message
    Merci beaucoup pour la solution merveilleuse
    D'accord, elle était peut être merveilleuse, mais quelle était t-elle ?
    j'ai fait plusieurs propositions, laquelle a été utilisée ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2014, 14h17
  2. travailler avec les données de MySql sous C#
    Par tallent_e dans le forum Débuter
    Réponses: 1
    Dernier message: 13/11/2011, 20h53
  3. Réponses: 2
    Dernier message: 12/05/2008, 21h51
  4. Réponses: 5
    Dernier message: 01/06/2006, 16h18
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

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