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

C# Discussion :

mettre un mdb en ressouce


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut mettre un mdb en ressouce
    Bonjour à tous,

    je cherche a mettre un .mdb en ressource de mon projet et pouvoir l'extraire lors de l'execusion du exe.

    j'ai donc créé un .mdb contenant toutes les tables et champs souhaités que j'ai renommé en .bin et integrer en ressource.

    maintenant je cherche a extraire ce .bin si le .mdb n'est pas présent dant de dossier contenant le .exe, et de le renomer en .mdb.

    C'est faisable?

    ps: je suis assez novice en C# donc un petit exemple serait grandement apprecié

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas le fait que tu veuilles mettre ton fichier .mdb en ressources.
    Il suffit juste de suivre les étapes suivantes et ton fichier .mdb se trouvera à la racine du dossier d'installation de ton application :

    1. Ajouter ton fichier .mdb dans ton projet
    2. Mettre la proprieté Action de génération à Content
    3. Mettre la valeur de Copier dans le répertoire de sortie à Toujours Copier


    Lors de la création de ton setup le fichier sera intégré et déployer à la racine lors de l'installation.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut
    oui je comprends bien ton interrogation, mais en fait je ne veux pas créer de setup.... il y aura juste un .exe

    comme ça on peut deplacer le .exe dans n'importe quel dossier d'un PC et au premier lancement de celui-ci le .mdb se créra (les personnes qui vont utiliser ce petit prog sont pas a l'aise avec l'info et plus c simple mieux c'est pour eux).

    alors faisable se que je souhaite?

    de plus si j'integrais le mdb a un setup et que pour un raison ou un autre on supprime le mdb, je devrais réinstaller. alors qu'en l'integrant au ressource, une simple verif de presence de fichier au lancement de .exe et deploiement si abscence de celui ci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par waspy59 Voir le message
    de plus si j'integrais le mdb a un setup et que pour un raison ou un autre on supprime le mdb, je devrais réinstaller. alors qu'en l'integrant au ressource, une simple verif de presence de fichier au lancement de .exe et deploiement si abscence de celui ci
    cela revient au même. Ton fichier mdb est créé au lancement de l'exe et cela n'empêche qu'il pourra toujours être supprimé et si tu recrées ce même fichier au prochain lancement de l'exe, tu possederas pas les données mise à jour par l'utilisateur.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut
    Bon je persiste et signe dans ma voie lol

    j'ai testé cela:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    string pathDB;
                pathDB = Application.StartupPath + "\\" + "BaseClient.mdb";
     
                /// Vérification de l'existence du MDB
                if (!File.Exists(pathDB))
                {
     
     
                    Assembly assembly = Assembly.GetExecutingAssembly();
                    Stream objStream = assembly.GetManifestResourceStream(assembly.GetName().Name + ".BaseClient.mdb");
                    Byte[] abytResource = new Byte[objStream.Length + 1];
                    int intLength = objStream.Read(abytResource, 0, Convert.ToInt32(objStream.Length));
                    Stream objFileStream = new FileStream(pathDB, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
     
     
                    try
                    {
                        while (intLength > 0)
                        {
                            //write filestream to create Access DB file
                            objFileStream.Write(abytResource, 0, Convert.ToInt32(objStream.Length));
                            intLength = objStream.Read(abytResource, 0, Convert.ToInt32(objStream.Length));
                        }
     
                        //close the file stream
                        objFileStream.Close();
     
                    }
                    catch
                    {
                        MessageBox.Show("Erreur dans la creation de la base");
                    }
                    finally 
                    {
                    assembly = null;
    		        objStream = null;
    		        objFileStream = null;
    	            }
                }
            }
    ca merde a la creation de "objstream" qui reste desesperement vide....

    merci de m'aider

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut
    quelqu'un a une idée de mon soucis? j'ai d’ailleurs aussi testé avec un fichier txt et j'ai exactement le même problème

    merci

Discussions similaires

  1. comment mettre à jours une base (*.mdb) distante
    Par dj_techno dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 06/06/2008, 16h54
  2. [VB6] mettre en commentaires...
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2004, 15h15
  3. [VB6] - Mettre un morceau de ligne en commentaire
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/11/2002, 11h03
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. [langage] Problème de taille de fichier à mettre dans
    Par And_the_problem_is dans le forum Langage
    Réponses: 10
    Dernier message: 13/08/2002, 09h41

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