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 :

ADODataset, indexName, fonction seek


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 42
    Par défaut ADODataset, indexName, fonction seek
    Bonjour,

    j'utilise des Adodataset et je souhaite faire des recherche avec la méthode Seek.
    Je met donc un nom d'index valide dans la propriété IndexFieldName et j'active mon Dataset et j'ai un message d'erreur
    Le Fournisseur actuel ne prend pas encharge l'interface nécessaire pour le tri ou le filtrage
    .
    (J'utilise SQL Server 2000.)

    Je tente autre chose : renseigner la propriété IndexName avec une des valeur proposées par la liste déroulante, et la encore message d'erreur
    L'index n'existe pas
    . Alors qu'il est bel et bien créé sous SQL server puisque l'EDI le voit et me le propose...

    Quelqu'un a t-il une idée ?

  2. #2
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Pour utiliser Seek tu dois être en tabledirect coté serveur

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 42
    Par défaut
    C'est en effet la configuration que j'utilise. Mais sans succès

  4. #4
    Membre confirmé Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Par défaut sinon tu
    Sinon tu peux modifier ta requete en fonction de la recherche en modifiant le Query.sql.add sur un évenement...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 42
    Par défaut
    Oui je sais pour les requêtes, mais cette histoire d'index j'en ai besoin, car il faut qu'en cas de recherche infructueuse pour un chiffre par exemple, je me positionne sur le plus proche (avant ou après). et je crois que seule la méthode seek à ces options. (soAfterEQ, etc...)

  6. #6
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Peux tu me montrer ton code :

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 42
    Par défaut
    Je n'ai pas de code (à part la fonction seek). J'essaie d'activer l'ADOdataset dans l'EDI. c'est là que j'ai les messages d'erreur...

  8. #8
    Membre confirmé Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Par défaut eux
    Tu fais une recherche sur ton_champ
    et si pas de resultat tu fais une nouvelle recherche avec un nombre approchant

    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
     
    With Query Do
      Begin
          SQl.add('Select Count(*) from ta_table where ton_champ='''choisi'''');
          ExecSql
      End;
    If query.field(0)>0 Then
    Begin
    With Query Do
      Begin
          SQl.add('Select * from ta_table where ton_champ='''choisi'''');
          ExecSql
      End;
    End
    Else
    Begin
    With Query Do
      Begin
          SQl.add('Select * from ta_table where ton_champ='''approchant-1'''');
          ExecSql
      End;
    End;
    Et tu peux continuer tes test a la suite et sinon tu fais directement une boucle for

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 42
    Par défaut
    En effet, c'est une solution, mais qui peut s'avérer très longue si la valeur la plus approchante n'est justement pas toute proche. Tu vas dire que je suis ch..., mais que veux tu, la fonction seek fait le boulot, alors pourquoi ne pas l'utiliser, le problème est comment l'utiliser.

    En tout cas merci pour ta réponse Alex

  10. #10
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Après vérification, le fournisseur ne gère pas IRowsetIndex, donc en effet tu ne pourras pas utiliser Seek sur une base SQL-Server avec ADO.

Discussions similaires

  1. [AC-2013] PB Fonction Seek avec table lièe
    Par guigolo dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/11/2014, 07h22
  2. [AC-2007] Problème fonction SEEK dans un RECORDSET
    Par FtF Nemesis dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/04/2011, 17h18
  3. [c++ builder 2007]index et fonction seek
    Par dragonfly80 dans le forum Paradox
    Réponses: 1
    Dernier message: 29/05/2008, 15h37
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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