Inserer donne dans une base de donnee en C# en mode deconnecte [Fermé]

Signaler
Messages postés
2
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
31 mai 2009
-
Messages postés
15433
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 janvier 2021
-
Bonjour en faite je debut en C# je suis entrain de faire un petit formulaire comportant une textbox et un bouton qui devra envoyer les donnees dans une base de donnee pour le faire j'utilise le mode deconnecté mais j'arrive à inserer les donnees dans la base lorsque je clique sur le bouton je vous montre mon code si quelqu'un à une idee je suis preneur merci d'avance

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;

namespace Ultime_deconnecte
{
    public partial class Form1 : Form
    {
        //Declaration des composants de nos fonctions
        public SqlConnection connection;
        public SqlDataAdapter myDa;
        public DataSet myDs;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //on va instancer
            connection = new SqlConnection();
            myDa = new SqlDataAdapter();
            myDs = new DataSet();

            //on va etablir la connection avec la base de donnee
            connection.ConnectionString = "Data Source=(local)\\SQLEXPRESS;Initial Catalog=leader-database;Integrated Security=True;Pooling=False ";
            //on va utiliser la fonction SelectCommand pour selectionner des objets dans notre tables
            myDa.SelectCommand = new SqlCommand();
            myDa.SelectCommand.Connection = connection;
            myDa.SelectCommand.CommandText = "SELECT * FROM Categories";

        }

        private void button1_Click(object sender, EventArgs e)
        {
            //Declaration de ma commande Insert

            myDa.InsertCommand = new SqlCommand();
            myDa.InsertCommand.Connection = connection;
            myDa.InsertCommand.CommandText = "INSERT INTO Categories (Name)" +
                                             "VALUES(@name)";
            myDa.InsertCommand.Parameters.Add("@name", SqlDbType.NVarChar, 50, "Name");

        }
    }
}

3 réponses

Messages postés
2
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
31 mai 2009

Merci pour l'explication et le lien mais apres quelque modification je sais pas comment faire une action sur mon bouton lorsque je fais cliquer pour qu'il execute l'insertion dans la base de donnee je vous montre mon code en faite j'aimerai le faire son passé par une datagrivew on doit utiliser une commande de ce genre dataGridView1.DataSource =
                myDS.Tables["Categories"].DefaultView;

mais moi j'aimerai l'envoyer directement dans la base de donnee quel genre de commande dois je utiliser au niveau de mon bouton merci d'ance

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;

namespace test_simple_deconnecte
{
    public partial class Form1 : Form
    {
        public SqlConnection connection = new SqlConnection();
        public SqlDataAdapter myDa = new SqlDataAdapter();
        public DataSet myDs = new DataSet();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //connection à la base
            connection.ConnectionString = "Data Source=(local)\\sqlexpress;Initial Catalog=SaberatourSQL;Integrated Security=True";
           
            //On va selection le contenu de la base
            myDa.SelectCommand = new SqlCommand();
            myDa.SelectCommand.Connection = new SqlConnection();
            myDa.SelectCommand.Connection = connection;
            myDa.SelectCommand.CommandText = "SELECT * FROM T_PAYS";
            myDa.Fill(myDs,"T_PAYS");
           
           
            //On va inseré des donnees dans notre base
            myDa.InsertCommand = new SqlCommand();
            myDa.InsertCommand.Connection = new SqlConnection();
            myDa.InsertCommand.Connection = connection;
            myDa.InsertCommand.CommandText = "INSERT INTO T_PAYS (P_LIBELLE)" + "VALUES(@libelle)";
            myDa.InsertCommand.Parameters.Add("@libelle", SqlDbType.NVarChar, 250, "P_LIBELLE");
           
           
           
            //On va definir la Update
            myDa.UpdateCommand = new SqlCommand();
            myDa.UpdateCommand.Connection = new SqlConnection();
            myDa.UpdateCommand.Connection = connection;
            myDa.UpdateCommand.CommandText = "UPDATE FROM T_PAYS ";
          
   
        }
        private void button1_Click(object sender, EventArgs e)
        {
          
          
        }
    }
}
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonsoir,

Là on ne voit qu'une partie du code, la création du SqlDataAdapter.
il manque la partie d'execution.

L'objet SqlDataAdapter sert de joint entre la base de données et un dataset.
il possede 2 methodes pour récuperer ou envoyer des données:
Fill : récupere les données de la base pour remplir le dataset
Update : dans l'autre sens.
Lors d'un update, le couple DataSet et SqlDataAdapter vont s'allier pour utiliser les methodes adéquates (Update, Insert ou Delete)
ensuite il faudra dire au DataSet que la mise à jour à été faite (methode AcceptChange du DataSet).

jette une oeil là : http://msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqldataadapter.aspx

C# is amazing, enjoy it!
Messages postés
1
Date d'inscription
lundi 26 mai 2014
Statut
Membre
Dernière intervention
26 mai 2014

Messages postés
15433
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 janvier 2021
503
Bonjour, merci pour ton intervention, mais il faut espéré pour le demandeur que depuis 8 ans, il a trouvé une solution.
Je ferme le sujet pour éviter de nouveaux déterrages.
Messages postés
15433
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 janvier 2021
503
Je me permets de réouvrir le sujet, car je n'ai pas pu commenté ton tuto sur ton site, alors je le fait ici

c'est bien ça fait ce que le titre dit (bine qu'il n'y soit pas précisé qu'il s'agit d'une base MySQL),
quelques remarques cependant:

-tout d'abord il est dommage (voir pénible au bout d'un moment) d'attendre que tu aies tapé ton texte. Enregistrer le son aurait été bien mieux, ou à défaut faire défiler un powerpoint avec ton texte préparé.

-Il faut un écran et une résolution de ouf pour voir ce qui se passe dans visual studio (sur mon 21,5 pouces 1920*1080 c'est tout juste net, alors je ne te dis pas sur ma tablette ou mon vieux portable au boulot....)

-Ajouter une référence à un projet, n'est pas installer un driver, c'est ajouter une référence à quelque chose qui est déjà installé.

Au final, 16 minutes pour 10 lignes de code, certes justes et correctes, c'est un peu long.