Requete SQL // c#

cs_jackasse Messages postés 16 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 9 juin 2011 - 28 janv. 2011 à 12:13
cs_jackasse Messages postés 16 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 9 juin 2011 - 4 févr. 2011 à 09:41
Bonjour ts le monde .
enfaite je travail sur un projet et j ai la partie gérer des utilisateurs
j ai crée une Interface ihm pour pouvoir modifier ajouter supp un utilisateur depuis ma petite interface graphique que j ai crée EN csharp ( Button , textBox.....) en fin Bref
je me co a ma base de donner que j ai crée aussi Localement , Jusque la Ts est Nikel
le Probleme que je rencontre c est que qd je rentre le nom de la Personne son Id et Prénom rien ne marche après et mon datagrid View est Vide ( Bien sur ma Table de Base de données ) et pourtant je pense que j ai mis la bonne code
Voici mon code est ce QUE quelqu un peu m aider a résoudre le Problème
Sachant que je suis débutante en Programmation c# et je connais kedal quoi Merci
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Common;
using System.Data.ProviderBase;

namespace test_connexion_BDD
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void connex_Click(object sender, EventArgs e)
        {
            //_____________________________________________________Button Connexion___________________________ 
            // Connexion à la base de données
            SqlConnection connexion = new SqlConnection();
            connexion.ConnectionString = @"Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI";
                      
         
            try
            {
                connexion.Open(); // Ouverture de la connexion
                
              
            }
            catch (Exception ex)
            {
                // Affiche des erreurs
                Console.WriteLine(ex.Message);
            }
            
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void val_Click(object sender, EventArgs e)
        {
            //_____________________________________________________Button Valider____________________________

            if (textBox1.Text "" || textBox2.Text "" || textBox3.Text == "" || textBox4.Text == "")
            {

                MessageBox.Show("Vous devez remplir Tous les champs pour valider le formulaire", "Saisie incomplète", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

            }

            try

                {
                    using (SqlConnection connexion = new SqlConnection(connexion))
                    {
                        connexion.Open();//--Ouverture de connexion
            //-------------------------------------Requête SQL-----------------------------

            SqlCommand sqlCommand = new SqlCommand("INSERT INTO user (ID,Nom , Prenom , soldes) values (@ID, @Nom , @Prenom , @Sodes) ", connexion);

            //-----------------------------Création de variable de Textbox------------------
            
            //Tesxt Box Id
                    sqlCommand.Parameters.Add(
                        "@id",SqlDbType.VarChar);

                    sqlCommand.Parameters.Add[
                        "@id"].Value.textBox1.Text;

            
             //textbox -> variable @Nom
            
                        sqlCommand.Parameters.Add(
                            "@Nom", SqlDbType.VarChar);

                        sqlCommand.Parameters[
                            "@Nom"].Value = textBox2.Text;

                        //textbox -> variable @Prenom

                        sqlCommand.Parameters.Add(
                            "@Prenom", SqlDbType.VarChar);

                        sqlCommand.Parameters[
                            "@Prenom"].Value = textBox3.Text;

                        //textbox -> variable @Unites 

                        sqlCommand.Parameters.Add(
                            "@Soldes", SqlDbType.VarChar);

                        sqlCommand.Parameters[
                            "@Soldes"].Value = textBox4.Text;

                        //-- Execution de la commande ----

                        sqlCommand.ExecuteNonQuery();
                        
                    }


                }
                catch (Exception exep) { System.Windows.Forms.MessageBox.Show(exep.Message); }
}



        }

       





    }


3 réponses

Edoth Messages postés 19 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 2 février 2011
2 févr. 2011 à 15:46
Salut,

Plusieurs choses:
- Je ne comprends pas l'intérêt de ta fonction connex_Click (ok tu te connectes à ta BD mais ensuite c'est tout ???)
- Ta fonction val_Click ne touche pas à la gridview il parait normal qu'elle soit vide
- Tu peux aussi améliorer ta fonction val_Click
private void val_Click(object sender, EventArgs e)
        {
            //_____________________________________________________Button Valider____________________________

            if (textBox1.Text "" || textBox2.Text "" || textBox3.Text == "" || textBox4.Text == "")
            {

                MessageBox.Show("Vous devez remplir Tous les champs pour valider le formulaire", "Saisie incomplète", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

            }
            else //si toutes tes textbox sont remplies
            {
            try

                {
                    using (SqlConnection connexion = new SqlConnection(connexion))
                    {
                        connexion.Open();//--Ouverture de connexion
            //-------------------------------------Requête SQL-----------------------------

            SqlCommand sqlCommand = new SqlCommand("INSERT INTO user (ID,Nom , Prenom , soldes) values ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "') ", connexion);

                        //-- Execution de la commande ----

                        sqlCommand.ExecuteNonQuery();
                        
                    }


                }
                catch (Exception exep) { System.Windows.Forms.MessageBox.Show(exep.Message); }
             }
}



Après il faut donner un peu plus d'info si tu veux qu'on puisse t'aider correctement
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 févr. 2011 à 15:43
Salut,

@edoth
Je ne suis pas d'accord avec l'amélioration.
Elle entraine un trou de securité et de performance il faut utiliser les requetes paramétrées.

@jackasse
Quelles sont les exceptions que tu as?
0
cs_jackasse Messages postés 16 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 9 juin 2011
4 févr. 2011 à 09:41
Bonjour =D
Oui je confirme vaut mieux travailler avc des requetes parametrées
et sinn je pense que mon boutton conn me servira a rien , je ferai mieux de me co direct
0
Rejoignez-nous