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 :

(Paradox) réinitialiser un champ autoincrementable


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Points : 38
    Points
    38
    Par défaut (Paradox) réinitialiser un champ autoincrementable
    salut,
    Pouvez vous m'indiquer comment réinitialiser un champ autoincrementable avec paradox apres avoir inserer quelque champs je veux reutiliser la table mais en commancant par ZERO.

    merci d'avance!

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    personnellement je supprime le champs et je le créer a nouveau et c'est réinitialisé, je sais pas si il y une autres solution plus propre.

  3. #3
    Nouveau membre du Club
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Points : 38
    Points
    38
    Par défaut
    "aityahia" merci pour ta reponse, c'est la meme methode que j'ai adobte mais j'ai pense qu'il y'a une meilleure solution. faudra changer de SGDBR comme Mysql ou Firebird.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 454
    Points : 24 866
    Points
    24 866
    Par défaut
    Il existe plusieurs solution

    - Destruction-Recréation du Champ (aityahia)
    - Si la Table est Vide, tu peux tout simplement reprendre une strcuture de table vide
    - Voir si en changeant, le ReadOnly sur le champ Auto-Inc si tu peux procéder à une rénumérotation (j'ai un vague souvenir à ce sujet)
    - Gérer des Entiers et des compteurs séparés (très pratique pour la fusion de table)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    J'arrive après la guerre... le message est résolu mais sur la FAQ j'avais trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure setAutoInc(sFilename : string; iValeur:Longint);
    var
       myStream : tFileStream;
    begin
       myStream := tFileStream.create(sFileName, fmOpenWrite + fmShareExclusive);
       myStream.Seek(73, soFromBeginning);
       myStream.WriteBuffer(iValeur, 4);
       myStream.Free;
    end;
    a+

  6. #6
    Nouveau membre du Club
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Points : 38
    Points
    38
    Par défaut
    Merci pour vos réponses
    La procédure de "Zatoobux" fonctionne a merveille, et je pense que c'est la meilleure solution pour ce problème

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    salut

    Petite précision : avec un ReadBuffer à la place du writeBuffer, tu peux connaître la valeur en cours de l'auto-incrément...

    Par contre je ne retrouve pas ce code dans la FAQ mais je suis certain que je l'ai trouvé sur developpe.com...

    a+

  8. #8
    Nouveau membre du Club
    Inscrit en
    Août 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Août 2009
    Messages : 53
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function ResetAutoInc(FileName: TFileName; NewValue:Longint): Boolean; 
    begin 
      with TFileStream.Create(FileName, fmOpenReadWrite) do 
      try 
        Result := (Seek($49, soFromBeginning) = $49) and (Write(NewValue, 4) = 4); 
      finally 
        Free; 
      end; 
    end;
    2--

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResetAutoInc('C:\Database\MaTable.DB',0)

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 454
    Points : 24 866
    Points
    24 866
    Par défaut
    C'est gentil de fournir une réponse 4 ans plus tard, c'est finalement le même code que celui de Zatoobux en plus propre que tu as pompé sur la réponse de 2008 de freud dans le sujet Réinitialiser la valeur d'un champs Inc Auto(+) mais lui avait cité la source : Delphi3000
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Select Avec Champ Autoincremente
    Par susu69 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 20/11/2006, 13h53
  2. Valeur d'un champ autoincrementable
    Par Hirouchima dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/10/2006, 11h32
  3. [VBA] Réinitialiser les champs d'un formulaire
    Par kirgan dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 13h10
  4. Réponses: 9
    Dernier message: 10/01/2006, 16h27
  5. [formulaire] réinitialiser un champ de type file
    Par Baadshah dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 20/12/2005, 14h28

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