Datagridview cellule de changement de valeur de mise à jour de la base de données

J'ai récupéré les données de base de données Mysql dans un DataGridView1. Nous supposons que je suis dans la Ligne 0. Lorsque je modifie le contenu de la Ligne 0, la Cellule 1 et appuyez sur la touche entrée ou sur un bouton, la requête de mise à Jour devrait modifier cette ligne, mais je ne suis pas en mesure de modifier la valeur de la cellule. La cellule maintient sa valeur précédente lorsque j'ajoute des données et de la base de données n'est pas modifié. Par exemple, si je change le contenu d'une cellule dans la colonne Client_Name de "Acs" à "Gmt", comment puis-je changer la valeur de la cellule à partir de "Acs" à "Gmt"? et pour l'avoir mis à jour en base de données Mysql, je suis à l'aide de c# dans visual studio 2012. ci-dessous mon code qui récupère mes données dans la base de datagridview1 toute aide est la bienvenue merci.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Data.SqlClient;
namespace PI.Gen
{
public partial class frmMain : Form
{
MySqlConnection Conn;
public frmMain()
{
InitializeComponent();
btnDisconnect.Enabled = true;
btnLoadData.Enabled = false;
btnLoadClients.Enabled = false;
}
private void btnConnect_Click(object sender, EventArgs e)
{
string strConnect = "server=" + txtServer.Text + ";uid=" + txtUsername.Text + ";pwd=" + txtPassword.Text + ";database=" + txtDatabase.Text;
try
{
if (txtServer.TextLength <= 0 || txtUsername.TextLength <= 0 || txtDatabase.TextLength <= 0)
{
MessageBox.Show("You have an empty database connection field. Please supply a valid value.");
return;
}
Conn = new MySqlConnection(strConnect);
Conn.Open();
if (Conn.State.ToString() != "Open")
{
MessageBox.Show("Could not open database connection");
return;
}
btnDisconnect.Enabled = true;
btnConnect.Enabled = false;
btnLoadData.Enabled = true;
btnLoadClients.Enabled = true;
// btnSubmitClient.Enabled = true;
}
catch (Exception ex)  //catch on general exceptions, not specific
{
MessageBox.Show(ex.Message);
return;
}
}
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (Conn != null)
{
Conn.Close();
}
}
private void btnDisconnect_Click(object sender, EventArgs e)
{
try
{
Conn.Close();
Conn = null;
btnDisconnect.Enabled = false;
btnConnect.Enabled = true;
btnLoadData.Enabled = false;
btnLoadClients.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btnLoadData_Click(object sender, EventArgs e)
{
try
{
string CmdString = "SELECT * FROM t_receipients";
MySqlDataAdapter sda = new MySqlDataAdapter(CmdString, Conn);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btnLoadClients_Click(object sender, EventArgs e)
{
try
{
string CmdString = "SELECT * FROM t_clients";
MySqlDataAdapter sda = new MySqlDataAdapter(CmdString, Conn);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
  • Tout d'abord.. Ne gardez pas un ouvrir la connexion à votre base de données. Vous pouvez essayer la connexion, mais le garder ouvert est de ne pas enregistrer
  • je le ferme avec un bouton de déconnexion
  • Oui mais que faire si votre application se bloque? Ensuite, vous garder une connexion ouverte.
InformationsquelleAutor RichieCr7 | 2014-12-28