La Mise À Jour De La Base De Données À L'Aide De Datagridview
Je peux ajouter, modifier, supprimer la base de données à l'aide de listbox. Mais je veux le faire à l'aide de DatagridView j'ai déjà le lier à ma base de données.
Comment puis-je ajouter,modifier,supprimer la mise à jour de ma base de données dans datagridview à l'aide de codes?
Voici mes codes:
namespace Icabales.Homer
{
public partial class Form1 : Form
{
SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\homer\documents\visual studio 2010\Projects\Icabales.Homer\Icabales.Homer\Database1.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand();
SqlDataReader dr;
SqlDataAdapter da;
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
}
private void bindgrid()
{
string command = "select * from info";
da = new SqlDataAdapter(command, cn);
da.Fill(dt);
dataGridView1.DataSource = dt;
}
private void Form1_Load(object sender, EventArgs e)
{
//TODO: This line of code loads data into the 'database1DataSet.info' table. You can move, or remove it, as needed.
this.infoTableAdapter.Fill(this.database1DataSet.info);
cmd.Connection = cn;
loadlist();
bindgrid();
}
private void button1_Click(object sender, EventArgs e)
{
if (txtid.Text != "" & txtname.Text != "")
{
cn.Open();
cmd.CommandText = "insert into info (id,name) values ('" + txtid.Text + "' , '" + txtname.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
MessageBox.Show("Record Inserted");
cn.Close();
txtid.Text = "";
txtname.Text = "";
loadlist();
}
}
private void loadlist()
{
listBox1.Items.Clear();
listBox2.Items.Clear();
cn.Open();
cmd.CommandText = "select * from info";
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
listBox1.Items.Add(dr[0].ToString());
listBox2.Items.Add(dr[1].ToString());
}
}
cn.Close();
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
ListBox l = sender as ListBox;
if (l.SelectedIndex != -1)
{
listBox1.SelectedIndex = l.SelectedIndex;
listBox2.SelectedIndex = l.SelectedIndex;
txtid.Text = listBox1.SelectedItem.ToString();
txtname.Text = listBox2.SelectedItem.ToString();
}
}
private void button2_Click(object sender, EventArgs e)
{
if (txtid.Text != "" & txtname.Text != "")
{
cn.Open();
cmd.CommandText = "delete from info where id = '"+txtid.Text+"'and name = '"+txtname.Text+"'";
cmd.ExecuteNonQuery();
cn.Close();
MessageBox.Show("Record Deleted");
loadlist();
txtid.Text = "";
txtname.Text = "";
}
}
private void button3_Click(object sender, EventArgs e)
{
if (txtid.Text != "" & txtname.Text != "" & listBox1.SelectedIndex != -1)
{
cn.Open();
cmd.CommandText = "update info set id='"+txtid.Text+"',name='"+txtname.Text+"'where id='"+listBox1.SelectedItem.ToString()+"' and name='"+listBox2.SelectedItem.ToString()+"'";
cmd.ExecuteNonQuery();
cn.Close();
MessageBox.Show("Record Updated");
loadlist();
txtid.Text = "";
txtname.Text = "";
}
}
}
}
Vous devez vous connecter pour publier un commentaire.
J'ai un dataGridView et un bouton sur un formulaire. Quand je fais une modification, insertion ou délétion dans le dataGridView1, le code ci-dessous fait la magie
J'ai le même genre de projet à la maison, je n'ai pas le code source avec moi, mais si besoin je peux case quelque part ce week-end pour voir exactement ce que j'ai fait, mais je crois que c'est l'un des suivants:
Puisque vous êtes à l'aide d'un
dataset
et undataadapter
cela peut être réalisé très facilement.Tant que votre
DataGridView1
a les propriétés activé pour les utilisateurs à ajouter/supprimer/modifier des lignes, vous pouvez utiliser le code suivant.La
DataAdapter.Update()
Méthode automatique de générer de l'insérer/mettre à jour/supprimer des commandes nécessaires pour mettre à jour les résultats de votre requête en comparaison avec les données actuelles de votredatagridview
.Vous pouvez définir ces commandes (propriétés) ainsi dans le cas où vous préférez les modifier, si ce n'est pas nécessaire.
Cela ne fonctionne que bien sûr, après qu'un utilisateur a apporté des modifications à la
DataGridView
. Ajouter ce code à un simple bouton et de voir si vous avez de la chance. Il a été définitivement quelque chose de simple 🙂button_click
événement par exemple.J'ai mis en œuvre une solution que les insertions, mises à jour et supprimer des données dans la base de données MS SQL directement à partir de DataGridView.
Pour accomplir cela, j'ai utilisé les événements suivants: RowValidating et UserDeletingRow.
Il est supposé que vous avez
déclaré et initialisé.
Voici le code:
Espère que cette aide.