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 :

comment compacter une table (base de donnees) sous delphi


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 22
    Points
    22
    Par défaut comment compacter une table (base de donnees) sous delphi
    bonjours, je veux savoir comment compacter une table de bases de donnees qui est rempli et puis il y a eu des suppression logique sur cette derniere , on remarque qu'il existe toujours un espace non utilisé (d'ou necessité de compacter)
    comment le faire sous delphi
    merci d'avance
    REDHA 8)

  2. #2
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    Merci de :

    poster dans le bon forum
    indiquer votre SGBD

    Cordialement

  3. #3
    Membre averti
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Points : 400
    Points
    400
    Par défaut
    Bonjour,
    D'abord la question à 0.152 €= Quelle type de base de données??
    Access?

  4. #4
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    S'il s'agit de dBase ou Paradox avec BDE... Utilise les API Dbi >>> DbiPackTable (voir BDE32.HLP)

    s'il s'agit de MSSQL.... Voir l'aide, le plus simple etant de faire un plan de maintenance

  5. #5
    Membre averti
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Points : 400
    Points
    400
    Par défaut
    Bonjour,
    S'il s'agit d'une base de données Access:
    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
    23
    24
    Uses
    ComObj;
    Function CompactBase(Dbb:String):Boolean; // Dbb: chemin complet de la base de données
    var
    vole:VOLEVariant;
    begin
    	result:= true;
    	try
    		vole:=CreateOleObject('JRO.JetEngine');
    		try
    			if CopyFile(PAnsiChar(Dbb), PAnsiChar(Dbb+'.bak'), false) then 	// Backup de la base de données	
    			begin
    				Vole.CompactDatabase('Provider=Microsoft.Jet.Oledb.4.0; Datasource='+Dbb, //Compactage
    				'Provider=Microsoft.Jet.Oledb.4.0; Datasource='+Dbb+comp;'); 	
    				DeleteFile(Dbb); 						//Suppression de l'ancienne base						
    				RenameFile(Dbb+'comp', Dbb); 			// Mise en place de la base compactée.						
    				end;
    		Finally
    			Vole:=Unassigned;
    			end;
    		except
    			result:=False;
    		end;
    	end;
    Cordialement

  6. #6
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Je dirais qu'il est impossible de compacter une table Access, tu peux à la rigueur compacter toute la base mais pas une table en particulier.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2012, 15h19
  2. [VB.NET] Comment compacter une base de données Access ?
    Par xVINCEx dans le forum Contribuez
    Réponses: 6
    Dernier message: 05/06/2008, 18h35
  3. [VB.NET] Comment créer une table dans base de données ?
    Par ptitesouris dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/05/2006, 08h46
  4. Comment compacter une base Access avec ADO ?
    Par langela94 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/12/2005, 16h24
  5. CR9 : comment poser une image venant d'une table, base Acces
    Par CR9-Deb dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 13/05/2005, 10h33

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