Aller au contenu


Photo
- - - - -

Bases de données sous Delphi...


  • Veuillez vous connecter pour répondre
13 réponses à ce sujet

#1 Yaggi

Yaggi

    Junior Member

  • Membres
  • 10 messages

Posté 22 juillet 2001 - 11:05

salut,



ca fait plusieurs années que j'utilise des bases de données et g toujours pas capté pourquoi ca arrive d'avoir un message d'erreur : "Violation de Clé"... et puis d'un coup ca le fait plus et puis ca revient le lendemain j'en ai marre je capte pas !

ca arrive desfois au moment ou j'appelle des fonctions du type insert, last, etc. et quand j'execute un batchmove....



si qqn pouvais m'aider !



et autre chose : comment faire pour trier une BD suivant le champ que je veux... quand je me sert de IndexFieldNames il trie par rapport au premier champ et IndexName j'arrive jamais à m'en servir (il dit que l'index n'existe pas pourtant g mis des tites etoiles à chaque champ de ma base...)



merci d'avance !
  • 0

PUBLICITÉ

    Annonces Google

#2 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 22 juillet 2001 - 11:56

"unique constraint violated" : tu insères des données qui existent déjà (du moins, pour ce qui concerne la clef primaire de ton enregistrement)

"parent key not found" : tu as une clef étrangère sur ta table (un truc qui correspond à des données dans une autre table), et il ne trouve pas l'enregistrement auquel tu fais référence

Si tu as une erreur, et que le lendemain elle n'y est plus (voire, 15 minutes plus tard) essaie de voir si tu as un "commit" à faire pour valider ta transaction, parce que ca sent à plein nez l'"autocommit" qui arrive après un certain laps de temps... (un timeout, koi)



punaise, tous ces termes anglais pour les BDD, c'est dingue !
  • 0

#3 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 22 juillet 2001 - 11:58

y'a pas une interface "SQL" pour tes requêtes ? Tu utilises bien u lien ODBC pour attaquer ta base, non ? Il supporte pas les comandes SQL "brutes" ?

Paske, si tu peux rajouter "ORDER BY sketuveux" à la fin de ta requête, ca te triera le résultat comme tu veux (tu peux en mettre autant que tu veux, et spécifier ASC ou DESC suivant que tu veux un ordre croissant ou décroissant - et si y'a rien, c'est ASC implicitement)
  • 0

#4 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 23 juillet 2001 - 12:01

Pour ce qui est des index, je doute de l'interêt d'indexer chaque colonne des tables de ta base... (ou alors c'est pour créer un index sur l'intégralité des colonnes, ce qui n'a absolument aucun interêt : un index est censé accélérer les recherches en n'utilisant que quelques colonnes pour chercher)
  • 0

#5 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 23 juillet 2001 - 12:02

A propos, tu as quoi comme base de donées à l'autre bout ??

Tu utilises SQL*Net pour accéder à une base ORACLE ?

Tu utilises un lien ODBC pour taper sur un fichier Excel (AARRRRGGGGHHHHHH) ?

Tu utilises un lien ODBC pour taper sur une base Access (ARGH aussi mais un peu moins) ?

Tu as un autre truc intégré qui vient de chez borland ?
  • 0

#6 Yaggi

Yaggi

    Junior Member

  • Membres
  • 10 messages

Posté 23 juillet 2001 - 12:17

en fait j'utilise une table paradox 7...



pour le tri je viens de trouver un tut j'ai ajouté des index secondaires dans ma table et ca marche parfaitement...



et pour le message d'erreur il me met "viloation de clé" c tout et aucun truc anglais dont t'as parlé, à l'instant même il me l'a fait quand g changé la position du curseur de l'enregistrement en cours alors que je venais de faire un batchmove...



merci quand même !
  • 0

#7 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 23 juillet 2001 - 12:23

Euh, désolé je connais que les messages d'erreur ORACLE :P)

y'a rien de plus que "Violation de clé" ? même pas "primaire" ou "étrangère" ?
  • 0

#8 Yaggi

Yaggi

    Junior Member

  • Membres
  • 10 messages

Posté 23 juillet 2001 - 12:24

c encore moi...



g "résolu" le problème ca y est il me met plus violation de clé....



en fait j'avais oublié de mettre quelques Table.Post par ci par là... en fait l'erreur était du style "parent key not found" comme tu disais dans ta réponse...
  • 0

#9 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 23 juillet 2001 - 12:24

Ca plante sur quelle action, exactement ?

tu copies des enregistrements d'une table dans une autre ? (chuis désolé, il va falloir expliquer en détail les fonctions, vu que j'ai jamais touché à Paradox sous Delphi...)
  • 0

#10 KewlCat

KewlCat

    Modérateur

  • Attente Validation
  • 24 812 messages

Posté 23 juillet 2001 - 12:24

d'accord :P

tout fonctionne alors, maintenant ?
  • 0









Sujets similaires :     x