Quelle base de données pour mon utilité (C#)

Fermé
thetatz - 15 juin 2012 à 17:31
edilecachan Messages postés 87 Date d'inscription dimanche 1 janvier 2012 Statut Membre Dernière intervention 26 juin 2023 - 12 oct. 2012 à 14:09
Bonjour à tous,

Je suis en train de me créé une videothèque, pour gérer les films que j'ai en DVD, bluray et divx.

Il me un type de base en fichier, avec qui je peux en créé, supprimé et choisir quelle base ouvrir a partir du programme, je ne veux pas que la base sois integré dans le projets, il faut pouvoir l'importé et/ou l'exporter, pour pouvoir par exemple la prêté ou autre.

J'ai d'abord penser a SQLite, mais je ne trouve rien qui permets de créé une base dans le code. J'ai aussi pensé au XML, mais je trouve que c'est un peu le foutoir par la suite.

Pouvez vous me conseiller ?

Merci par avance

3 réponses

Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
Modifié par Hxyp le 22/06/2012 à 03:04
Bonjour,
J'ai réalisé à un poil prés le même projet pour découvrir le C# et utilisé sqlite ça va très bien, création de nouvelles bases, chargement etc. Ça répond exactement à ce que vous voulez faire!
Avec mon niveau de moule je m'étais fait ça pour créer une db :
        public SQLiteConnection connect_db(string dbname) 
        { 
            SQLiteConnectionStringBuilder conn = new SQLiteConnectionStringBuilder(); 
            conn.DataSource = @dbname; 
            conn.FailIfMissing = false; 
            //conn.Locking = LockingMode.Exclusive; 
            conn.Locking = LockingMode.Normal; 
            conn.AutoVacuum = AutoVacuumMode.Full; 
            conn.ConnectionTimeout = 20; 
            SQLiteConnection sqLiteConnection1 = new SQLiteConnection(conn.ConnectionString); 
            return sqLiteConnection1; 
        } 
        public string create_db(string dbname)  
        {  
            string result = null;  
            SQLiteConnection connect = connect_db(dbname);  
            SQLiteCommand cmd = new SQLiteCommand();  
            cmd.CommandText = "CREATE TABLE blablabla...."; //creation des tables  
            cmd.Connection = connect;  
            connect.Open();  
            try{ int aff = cmd.ExecuteNonQuery(); result = "db : created."; } //creation d'une nouvelle db réussie  
            catch { result = "List db : ok."; } // si jme souviens bien dans la logique là c'est quand elle existe déjà  
            finally { connect.Close(); }  
            return result;  
        }

Ce bout de code créer un nouveau fichier db sqlite tout en s'y connectant et execute la commande c'est la même chose pour lire modifier etc à peu de choses prés c'est assez simple par contre faudra se pencher dès le départ sur le chargement en mémoire de la base de donnée sinon les performances ne seront pas terribles!
Edit : j'avais oublié le connect_db
0
edilecachan Messages postés 87 Date d'inscription dimanche 1 janvier 2012 Statut Membre Dernière intervention 26 juin 2023 3
5 juil. 2012 à 21:22
Je vois à peu près ce que tu fais en C#, mais, je n'arrive pas à trouver l'équivalent en JAVA sans passer par l'exécution d'une commande externe (ca m'est interdit et JAVA est obligatoire). As-tu une idée ?
0
edilecachan Messages postés 87 Date d'inscription dimanche 1 janvier 2012 Statut Membre Dernière intervention 26 juin 2023 3
12 oct. 2012 à 14:09
Pour information, j'ai fini par trouver.
Il suffit de créer un fichier.
Ensuite, on se "connecte" dessus.
On crée une table.
On ferme.
Le fichier "plat" pour la base SQLite est créé et à disposition pour de nouvelles aventures.
0