Bases de données et récupération de texte

ProtoType-CX Messages postés 1 Date d'inscription dimanche 7 janvier 2018 Statut Membre Dernière intervention 7 janvier 2018 - Modifié le 7 janv. 2018 à 03:22
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 - 4 févr. 2018 à 14:09
Bonjour, je voudrais faire un logiciel avec création de compte etc ou l'on pourrait faire des rapport de bugs par rapport à des serveurs de jeux, mon problème est le suivant :

Exemple, je laisse un avis sur le serveur le pseudo sera "ProtoType-CX" et le commentaire "Le serveur est down" sur le serveur de nom "K3P", j'aimerai que le logiciel le stocke sur une base de données et que lorsque quelqu'un lance le logiciel, si il va sur la section correspondante à ce serveur il voit l'avis de "ProtoType-CX" avec écrit "Le serveur est down", mon soucis c'est que je n'ai jusque là jamais fonctionné avec de bases de données et que je ne sais pas comment récupérer les informations.

J'aimerai aussi savoir si il faut absolument le faire via une base de donnée SQL Server sur mon propre pc ou si il est possible d'avoir une base de donnée hébergée en ligne gratuite, car mon PC fait souvent des siennes et j'ai peur que la base de donnée soit pas souvent accéssible :/

J'espère avoir été assez clair dans les détails de ce que je voudrais faire, si jamais je ne l'ai pas assez été, je peux compléter si vous avez des questions :)
Merci d'avance de vos réponses :)

2 réponses

damyLilasskicker Messages postés 11 Date d'inscription dimanche 4 février 2018 Statut Membre Dernière intervention 5 février 2018
4 févr. 2018 à 13:14
Tu peux créer un fichier, ajouter cette ligne aux fichier créer une méthode enregistrée et une méthode récupérer. Je ne suis pas une pro franchement je suis meme un peu noob mais je te laisse le code que j'ai deja fait ca marchait pour ce que j'avais a faire


bool Récupérer(out List<string> p_modèles, out List<Pièce> p_vecPièce,
            out List<Composante> p_vecComposante, out int p_prochainNuméro)
        {
            if (!File.Exists(FichierOrdinateur))
            {
                p_prochainNuméro = PremierNuméro;
                p_modèles = new List<string>();
                p_vecPièce = new List<Pièce>();
                p_vecComposante = new List<Composante>();
                return false;
            }
            using (FileStream ficModèle = File.OpenRead(FichierOrdinateur))
            {
                BinaryFormatter formateur = new BinaryFormatter();
                p_prochainNuméro = (int)formateur.Deserialize(ficModèle);
                p_modèles = (List<string>)formateur.Deserialize(ficModèle);
                p_vecPièce = (List<Pièce>)formateur.Deserialize(ficModèle);
                p_vecComposante = (List<Composante>)formateur.Deserialize(ficModèle);
            }
            return true;
        }


        /// <summary>
        /// Enregistre les données accumulées durant le programme et ce à la fermeture du tp
        /// </summary>
        /// <param name="p_modèle"></param>
        /// <param name="p_vecPièce"></param>
        /// <param name="p_vecComposante"></param>
        /// <param name="p_prochainNuméro"></param>
        void Enregistrer(List<string> p_modèle, List<Pièce> p_vecPièce, List<Composante> p_vecComposante,
            int p_prochainNuméro)
        {
            using (FileStream ficModèle = File.Create(FichierOrdinateur))
            {
                BinaryFormatter formateur = new BinaryFormatter();
                formateur.Serialize(ficModèle, p_prochainNuméro);
                formateur.Serialize(ficModèle, p_modèle);
                formateur.Serialize(ficModèle, p_vecPièce);
                formateur.Serialize(ficModèle, p_vecComposante);

            }
        }

void Principale()
        {
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            List<string> modèles;
            List<Pièce> vecPièce = new List<Pièce>();
            List<Composante> vecComposante = new List<Composante>();
            int prochainNuméro;

            WriteLine("Bonjour et Bienvenue dans ce programme de gestion d'ordinateur et de composantes : \n" +
               "----------------------------------------------------------------------------------- \n");

            Récupérer(out modèles, out vecPièce, out vecComposante, out prochainNuméro);

            //Menu Général qui passe en boucle jusqu'à ce que l'utilisateur choisisse de Quitter le programme.
            for (;;)
            {
                int choixGénéral;

                choixGénéral = LireInt32DansIntervalle("\n Veuillez choisir parmi les options suivantes : \n" +
                    "\t 1 : Menu des modèles \n" +
                    "\t 2 : Menu des pièces \n" +
                    "\t 3 : Menu des composante \n" +
                    "\t 4 : Autres options \n" +
                    "\t 0 : Quitter le programme : ", 0, 4);

                /***/
                if (choixGénéral == 0) break;
                /***/

                switch (choixGénéral)
                {
                    case 1: GérerMenuModèle(ref modèles); break;
                    case 2: GérerMenuPièce(ref vecPièce, ref prochainNuméro, vecComposante); break;
                    case 3: GérerMenuComposante(ref vecComposante, modèles, vecPièce); break;
                    default: GérerMenuAutre(vecComposante, modèles, vecPièce); break;

                }
                Enregistrer(modèles, vecPièce, vecComposante, prochainNuméro);
            }

        }

0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
4 févr. 2018 à 13:43
Bonjour
il y a un truc qu'il ne faut jamais faire en programmation: utiliser des accents, des cédilles, des tildes etc.. pour les noms de variable, de méthodes, de classe, de projet etc...
En effet si tu mets ce code sur un pc qui n'est pas dans la même langue, sur linux ou un mac il ne marchera pas.
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
4 févr. 2018 à 14:09
@damyLilassKicker Ecrire un texte n'est pas aussi performant qu'un sgbd.
Si tu t'attends à plus de quelques centaines d'entrées, il vaut mieux passer par un sgbd. Et quand la question dit clairement j'hésite entre sql server en ligne ou sql server sur mon pc, répondre "utilise un fichier texte" c'est hors sujet.

@Prototyp-CX Oui il faut l'héberger en ligne, un hébergeur web est bien plus protégé que toi contre les aléas (panne de matériel, d'électricité, de fournisseur internet, etc...)
Comme le web, c'est pas ma spécialité, je ne sais pas si c'est possible gratuitement.

0
Rejoignez-nous