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");
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 ";
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).
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.
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.