Ouvrir une connexion sur une nouvelle Form

Signaler
Messages postés
4
Date d'inscription
dimanche 22 novembre 2020
Statut
Membre
Dernière intervention
23 novembre 2020
-
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
-
Bonjour,
Mon problème est que j'ai bien une connexion a ma base de donnée j'arrive a la lire mais dans mon interface pour ajouter des lignes dans ma bdd la connection ne se fait pas je ne trouve pas le petit bout de code qui pourrais m'aider

J'utilise ConnectionStrings pour sécurisé mes infos de connections.

public partial class interface_ajouter_article : Form
{
// Début ligne connection BDD

static readonly string constring = ConfigurationManager.ConnectionStrings["Logistocks.Properties.Settings.bddConnectionString"].ConnectionString;
readonly SqlConnection conn = new SqlConnection(constring);

// Fin ligne connection BDD
public interface_ajouter_article()
{
InitializeComponent();
}

private void label1_Click(object sender, EventArgs e)
{

}

private void interface_ajouter_article_Load(object sender, EventArgs e)
{

}

private void btnajouter_Click(object sender, EventArgs e)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO stocks values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')";
cmd.ExecuteNonQuery();
conn.Close();

MessageBox.Show("La ligne a bien été ajoutée");




Quand je clique sur ajouter l'article j'ai une erreur de connexion a ma bdd

Merci d'avoir lu :)

6 réponses

Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
Bonjour

pour poster ton code, plus lisiblement merci de lire ceci jusqu'au bout https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

j'ai une erreur de connexion a ma bdd
quelle erreur exactement et à quelle ligne?
Messages postés
4
Date d'inscription
dimanche 22 novembre 2020
Statut
Membre
Dernière intervention
23 novembre 2020

Bonjour,

Excuser moi d'avoir poser une question aussi incomplète

namespace Logistocks
{
    public partial class interface_ajouter_article : Form
    {
        // Début ligne connection BDD

        static readonly string constring = ConfigurationManager.ConnectionStrings["Logistocks.Properties.Settings.bddConnectionString"].ConnectionString;
        readonly SqlConnection conn = new SqlConnection(constring);

        // Fin ligne connection BDD
        public interface_ajouter_article()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void interface_ajouter_article_Load(object sender, EventArgs e)
        {

        }

        private void btnajouter_Click(object sender, EventArgs e)
        {
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "INSERT INTO stocks values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')";
            cmd.ExecuteNonQuery();
            conn.Close();

            MessageBox.Show("La ligne a bien été ajoutée");
        }
    }
}


Mon erreur arrive a la ligne 28 au début de la connexion
Je ne vois pas comment je pourrais ouvrir ma connexion

Pour mieux expliquer mon problème

Je ne met pas mes identifiant de bdd dans mon code mais bien dans mon App.config pour mieux sécurisé
J'arrive bien a me connecter a ma bdd pour l'afficher mes lignes dans mon DGV
mais pas quand je dois ajouter des ligne a ma bdd via une autre form

Merci de votre réponse :)
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
App.config pour mieux sécurisé
c'est un simple fichier xml, que l'on peut ouvrir et modifier à loisir avec notepad (ou tout autre éditeur de texte). Pour la sécurité, il faudra trouver autre choses.

Mon erreur arrive a la ligne 28 au début de la connexion
, ok mais c'est quoi son message? Ça peut aider à t'aider.

Dans ton autre formulaire la variable conn (ou son équivalent) est elle aussi définie comme readonly? (ça me surprend)

Dans ton autre formulaire as tu fermé la connexion?




Messages postés
4
Date d'inscription
dimanche 22 novembre 2020
Statut
Membre
Dernière intervention
23 novembre 2020

// Ajout des référence pour le fonctionnement et la lecture de la BDD
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using System.Configuration;

namespace Logistocks
{
    public partial class page_stocks : Form
    {

        // début du code connection
        static readonly string constring = ConfigurationManager.ConnectionStrings["Logistocks.Properties.Settings.bddConnectionString"].ConnectionString;
        // Fin du code connection

        public page_stocks()
        {
            InitializeComponent();
        }

        private void affichage()
        {
            {
                MySqlDataAdapter DA = new MySqlDataAdapter("SELECT * FROM stocks", constring);
                DataSet DS = new DataSet();
                DA.Fill(DS);
                DataGrid1.DataSource = DS.Tables[0];

            }
        }

        private void page_stocks_Load(object sender, EventArgs e)
        {
            // TODO: cette ligne de code charge les données dans la table 'bddDataSet1.stocks'. Vous pouvez la déplacer ou la supprimer selon les besoins.
            this.stocksTableAdapter1.Fill(this.bddDataSet1.stocks);
            affichage();
        }

        private void page_stocks_Shown(object sender, EventArgs e)
        {

        }

        private void DataGrid1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void bunifuFlatButton1_Click(object sender, EventArgs e)
        {
            interface_ajouter_article IAA = new interface_ajouter_article();
            IAA.ShowDialog();
        }
    }
}


Voici le code de ma Form principale avec juste la lecture de la bdd.
(et par après la modification des écritures de la bdd mais pour plus tard)


On ma recommander d'utiliser Connection string a la place de mettre les identifiants de connexion dans le code pour justement "Sécurisé" mais identifiants j'essaierais de trouver une autre technique si celle la n'est pas sécurisée :/

J'ai cru comprendre que le app.config ce compressait dans le logiciel a la fin et qu'on ne pouvais le modifier a moi de le recompresser, j'ai du mal comprendre :/

Et voici l'erreur que j'ai...



Je débute et je découvre de nouvelle technique sur le ta :)
Merci en tout cas :)
Messages postés
4
Date d'inscription
dimanche 22 novembre 2020
Statut
Membre
Dernière intervention
23 novembre 2020

Si je fais n'importe quoi dite le moi que je m'améliore :)
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
Les bases de données, c'est pas mon fort, donc je ne te dirais pas si tu fais n'importe quoi, car je ne le sais pas.

Le message ne me dit rien, peut-être qu'il parlera à quelqu'un d'autre.

Je reste juste étonné par le fait que ta variable soit définie readonly.
Essaye private à la place pour voir


Par contre apprendre sur le tas, ça a ses limites (et je sais de quoi je parle cette fois), surtout si tu as fait l'impasse sur les bases, ce dont j'ai l'impression.

Je te conseille de mettre ton projet de coté quelques jours, le temps de suivre ce cours https://tahe.developpez.com/dotnet/csharp/
Il ne fera pas de toi un codeur expert, mais te donnera le socle nécessaire à ta formation.
Ne passe pas de chapitre, même si ça te parait simple, tu pourrais passer à coté d'une pépite.