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 :

Connection Base de données phpmyadmin + VS


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut Connection Base de données phpmyadmin + VS
    Bonjour à tous, je suis nouvel utilisateur de phpmyadmin (je trouve son utilisation bien plus efficace et compréhensible que Microsoft SQL ou encore la solution built in de VS )

    Je réalise un système d'inventaire pour plusieurs associations qui veulent répertorier leurs biens Mais voilà je suis heurté à un problème tout bête mais qui m’empêche d'avancer...

    j'ai réalisé un petit test.cs sous windows form histoire de mieux illustrer mon propos qui résume bien mon soucis :

    Nom : test.png
Affichages : 307
Taille : 109,1 Ko

    Nom : test2.png
Affichages : 305
Taille : 84,8 Ko

    je viens d'installer phpmyadmin, je n'ai pas touché aux paramétrés de base, j'ai vérifié qu'il n'y'avait pas d'erreurs de syntaxe.
    il y'a une multitude threads sur ce topic et la majorité des réponses ne me concernent pas, je suis à deux doigts de retourner sur Microsoft SQL mais vraiment à contre coeur. (pare feu déjà desactivé, ports changé, versions de windows rien y fait)
    Si quelqu'un a une solution je suis preneur !

    je me doute que cela doit être une erreur de comprehension toute bête, mais pas moyen de la trouver!
    Le probleme viendrait il de mon ConnectionString ? ou du fait que j'utilise NetCore et pas NetFramework?
    Merci d'avance pour votre aide!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 458
    Par défaut
    Salut, sauf erreur de ma part, car la dernière fois que je me suis occupé de ça, j'étais étudiant/chômeur/admin de site... donc vers 2003... si tu es sous PHPMyAdmin c'est que tu as une base MySQL. Donc ce n'est pas du côté de PHPMyAdmin que tu dois rechercher mais du côté de MySQL et normalement tu as tout ce qu'il faut en fait pour connecter c# à MySQL, je ne me suis pas occupé de le faire, mais j'ai déjà couplé mes applications avec SQLite et Access, donc lu pas mal de tutos, et certains parlaient de MySQL.

    Concernant l'exemple type de connexion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private static void CreateCommand(string queryString,
        string connectionString)
    {
        using (SqlConnection connection = new SqlConnection(
                   connectionString))
        {
            SqlCommand command = new SqlCommand(queryString, connection);
            command.Connection.Open();
            command.ExecuteNonQuery(); // type insert
        }
    }
    Et si je me plante pas tu as bien créé ta connexion mais tu ne l'as pas ouverte.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut
    Salut et merci pour ta réponse, cependant tu regardes mon exemple je ne fais qu'une Sélection, il n'est pas nécessaire d'utiliser Open() pour ça!
    Par acquis de conscience j'ai tout de même essayé, le message d'erreur est le même.

    J'ai du quitté PhPmyadmin pour retourner sur Microsoft SQL, pas le choix je n'avancais pas.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 458
    Par défaut
    Désolé si j'insiste mais déjà j'aime pas quand je peux pas aider et puis ça me perturbe que tu me dises que la connexion n'a pas besoin d'être ouverte, logiquement elle est forcément ouverte quelque part, probablement par un objet qui va le faire automatiquement.

    J'ai trouvé le code MS pour suivre la manière dont tu fais, car pour ma part je n'utilise jamais les data set je prends ce que je veux, je traite la lecture de ce que je reçois et je fais mes objets. c'est un peu à la papa probablement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        using (SqlConnection connection =
            new SqlConnection(connectionString))
        {
            SqlDataAdapter adapter = new SqlDataAdapter();
    
    
            adapter.SelectCommand = new SqlCommand( queryString, connection);
    
            adapter.Fill(dataset);
            return dataset;
        }
    Sachant donc que MS parle de pont de liaison, je me plante peut être mais je vois pas cette partie dans ton code. Et j'ai l'impression que justement c'est le SQL adapter qui va se mêler d'ouvrir ou fermer la connexion, car pour avoir utilisé des requêtes SELECT avant j'ai toujours du ouvrir en faisant avec ma méthode de vieux.

    Voici un extrait de la page MS pour cette méthode de vieux

    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
          string queryString =
            "SELECT OrderID, CustomerID FROM dbo.Orders;";
        using (SqlConnection connection = new SqlConnection(
                   connectionString))
        {
            SqlCommand command = new SqlCommand( queryString, connection);
            connection.Open();
            using(SqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    Console.WriteLine(String.Format("{0}, {1}",
                        reader[0], reader[1]));
                }
            }
        }
    Et c'est bien une requête type select.

    Je comprends que tu lâches l'histoire par contre, c'est frustrant de pas avancer. Si t'as le temps d'essayer histoire quand même de ne pas rester sur un échec.

    Après je t'avoue que le code en screenshot j'ai du mal à pouvoir checker, j'ai un petit soucis de mémoire vive parfois, donc le temps de passer d'une page à l'autre j'ai fait un reset.

    Edit:
    Tu as peut être raison sur le point que fill apparemment s'occuperait de récupérer l'objet connexion de la requête pour initialiser si nécessaire. Sous réserve donc que l'objet soit valide.

    https://docs.microsoft.com/fr-fr/dot..._Data_DataSet_

    La Fill méthode récupère les données de la source de données à l’aide d’une instruction SELECT. L' IDbConnection objet associé à la commande SELECT doit être valide, mais il n’est pas nécessaire qu’il soit ouvert. Si le IDbConnection est fermé avant l' Fill appel de, il est ouvert pour récupérer les données, puis fermé. Si la connexion est ouverte avant que Fill ne soit appelée, elle reste ouverte.
    Egalement à vérifier Mysql String Connection avec la méthode à la papa déjà voir si la connexion se fait bien.

    Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

    Egalement tu utilises SQLConnection, est ce que tu es sûr que ça fonctionne avec MySQL, et que ça ne serait pas plutôt un objet MySqlConnection qu'il faille ? MySql.Data

    Tu as également cette option
    https://www.c-sharpcorner.com/articl...-core-3-1-api/

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut Je suis un abruti !
    tout d’abord je te remercie beaucoup pour le temps que tu m'as consacré!

    Effectivement le Connexion s'ouvre grâce à la méthode Fill, pas besoin donc d'appeler Open() explicitement mais celle ci necessite tout de meme d'être ouverte pour n'importe quelle query!

    et c'est bien entendu MySqlConnection qui fonctionne avec MySql et non pas SqlConnection... mes directives n'étaient pas bonnes! en remplaçant par la bonne directive, tout marche correctement!

    Merci encore pour ta réponse, je vais pouvoir reswitcher de suite sur Phpmyadmin

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut
    Et du coup comme tu le mentionnes, le format de Connection string pour MySql est different de celui que j'utilisais!

    A l'avenir j'éviterai le copier coller débile sans reflechir ^^ !

  7. #7
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 458
    Par défaut
    Je suis super content pour toi ! Et ça va me lever un truc en tête car ça me turlupinait du coup ^^ . C'est pas évident de s'y retrouver donc tu n'as pas à te blâmer, juste mettre ça a profit pour le futur, de surcroit plus les années passent et plus je trouve que c'est compliqué de s'y retrouver dès qu'on sort des sentiers battus. Mais t'as surmonté ton bug, donc t'as une plus value à ton capital connaissances...

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

Discussions similaires

  1. [C#] Connection base de données
    Par discogarden dans le forum Accès aux données
    Réponses: 6
    Dernier message: 29/11/2005, 13h19
  2. connection base de données avec VB6
    Par 24 faubourg dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/11/2005, 20h03
  3. [CR][ASP.Net]Connection base de données / web.config
    Par Dozer71 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 10/05/2005, 08h41
  4. connection base de données
    Par i__s__a dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 30/03/2005, 13h04
  5. connection à base de donnée MYSQL
    Par zouzou_zaza dans le forum Bases de données
    Réponses: 11
    Dernier message: 04/07/2004, 12h31

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