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 :

Tri alphabétique avec caractères accentués dans une base SQLite


Sujet :

VB.NET

  1. #1
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut Tri alphabétique avec caractères accentués dans une base SQLite
    bonjour,

    Je travaille avec VB.NET et SQLite mais d'après mes recherches, le pb ne se limite pas à ces 2 seuls outils.

    Je voudrais savoir s'il existe une fonction SQlite (ou personnalisées mais pouvant être utilisée dans un langage SQLite) permettant de trier une table par ordre alphabétique sans tenir compte des accents

    En effet, un ORDER BY classe le é après le z.


    Merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 432
    Points : 1 128
    Points
    1 128
    Par défaut
    Bonjour,

    Il n'y a pas d'autres ordres de tri que ceux prévus par Sqlite (Binaire/nocase/rtrim) http://www.sqlite.org/datatype3.html#collation

    Tu peux mettre en place une fonction personnalisée (à voir comment cela peut marcher avec VB car il faut définir une fonction callback avec interface de type C) http://www.sqlite.org/c3ref/create_collation.html

    Cordialement

  3. #3
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut
    Apparemment, on peut implanter une collation personnalisée, mais je n'ai pas compris comment.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 432
    Points : 1 128
    Points
    1 128
    Par défaut
    Bonjour,

    Comme l'explique le site de SQLITE, il te faut :

    1/ Écrire une fonction de comparaison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int(*xCompare)(void*,int,const void*,int,const void*)
    qui doit utiliser les conventions d'appel du C et doit retourner -1,0 ou 1 selon que la première chaîne est inférieur , égale ou supérieure à la seconde

    2/ Enregistrer cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int sqlite3_create_collation_v2(...
    http://www.sqlite.org/c3ref/create_collation.html

    Cordialement

  5. #5
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut
    Ca ne m'avance pas plus, je suis encore un débutant.
    Mon appli est en VB.NET.
    Comment créer une fonction en C ? où l'enregistrer ? Faut-il un compilateur C ? etc...

  6. #6
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 432
    Points : 1 128
    Points
    1 128
    Par défaut
    Bonjour,

    Ceci est plutôt du ressort d'un forum VB.net.

    Normalement tous les langages permettent de s'interfacer avec une DLL écrite en C sans pour autant avoir besoin d'un compilateur C. Cependant comme j'ai abandonné VB depuis l'arrivée de .net je ne saurais en dire plus.

    Cordialement

  7. #7
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut
    Si un modérateur avait la gentillesse de transférer ce topic dans la rubrique VB.NET, ce serait super

Discussions similaires

  1. [phpMyAdmin] Caractères accentués dans une base MySQL
    Par devoluti0n dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 09/05/2008, 01h39
  2. Remplacer les caractères accentués dans une chaine
    Par shaun_the_sheep dans le forum Général Java
    Réponses: 5
    Dernier message: 07/05/2008, 10h41
  3. [MySQL] problème d'insertion des caractères arabe dans une base mysql
    Par sasaas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/03/2008, 11h56
  4. prob avec l'insertion dans une base POSTGESQL
    Par firasfeu dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/04/2007, 02h31
  5. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12

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