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 :

ADO Table dBase avec index


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut ADO Table dBase avec index
    Bonjour tout le monde,

    Voilà j'ai un problème avec une application Delphi qui utilise des fichiers DBF avec ADO.

    Je veux créer une table avec un index unique. Je pensais que c'était simple mais a priori non .

    Ma connectionString est configuré comme cela:
    Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=Mon répertoire contenant les DBF;Mode=Share Deny None;Extended Properties=dBASE IV;
    Pour créé la table j'utilise ma connexion et la procédure Execute():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ADOConnection1.Execute('CREATE TABLE TEST (ID INTEGER, 
                                               NOM CHAR(32), 
                                              CONSTRAINT MACLE UNIQUE(ID))');
    ADO me créé bien mon fichier DBF ainsi que le fichier index MDX.

    Mais malheureusement la clé unique n'a pas l'air d'être utilisé car je peux insérer plusieurs enregistrements avec le même ID.
    Par exemple, si j'exécute plusieurs fois la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADOConnection1.Execute('INSERT INTO TEST (ID) VALUES (0)');
    Il n'y a aucune erreur


    Est ce que quelqu'un a une idée ? Je doit rater un truc quelques part mais je vois pas

    Merci pour votre aide.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Je me répond a moi même,

    J'ai fais le même projet sous Visual Studio 2010 et j'ai exactement le même problème.

    Peut être une limitation du support dBase avec ADO ?

  3. #3
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    bonjour Hook,

    Je pencherais plus pour une mauvaise syntaxe dans ton create. Ou manque t-il un Create index à la suite de ton Create Table ?

    Cela peut surement t'aider :

    http://www.developpez.net/forums/d31...ndex-multiple/

    Bye

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci BuzzLeclaire pour ta réponse,

    Malheureusement le post concerne le BDE.

    Avec les composants ADO et notamment le TADOConnection ou le TADOTable et je n'ai pas trouvé d'équivalent au CreateTable ou AddIndex qui sont bien disponible dans le TTable du BDE.

    J'en suis réduit a me dire que je vais créer mes tables avec le BDE et les utiliser ensuite avec ADO. C'est pas terrible tout ça.

    HooK

Discussions similaires

  1. [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Par mario9 dans le forum Bases de données
    Réponses: 11
    Dernier message: 13/02/2015, 09h31
  2. Import tables AS400 avec index dans MS Access
    Par flodu42 dans le forum AS/400
    Réponses: 5
    Dernier message: 09/02/2010, 20h40
  3. Réponses: 2
    Dernier message: 27/05/2009, 12h47
  4. [ADO][Access2007] Problème d'indexation avec mes tables
    Par melles dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/11/2008, 20h11
  5. Création de table avec index
    Par Seb7 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2003, 16h11

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