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

ProtoType-CX 1 Messages postés dimanche 7 janvier 2018Date d'inscription 7 janvier 2018 Dernière intervention - 7 janv. 2018 à 03:16 - Dernière réponse : Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention
- 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 :)
Afficher la suite 

3 réponses

Répondre au sujet
damyLilasskicker 11 Messages postés dimanche 4 février 2018Date d'inscription 5 février 2018 Dernière intervention - 4 févr. 2018 à 13:14
0
Utile
1
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);
            }

        }

Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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.
Commenter la réponse de damyLilasskicker
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 4 févr. 2018 à 14:09
0
Utile
@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.

Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.