[英]Update DataGrid with dataset c#
我将数据添加到数据库时尝试更新DataGrid
我已经尝试过了:update()refresh()以及:this.produitsTableAdapter.Fill(this.databaseDataSet.produits);。
private void Bt_ajouter_Click(object sender, EventArgs e)
{
string query = @"insert into produits(ref_pdt, designation_pdt, quantite_pdt, prix_pdt)values (@refp, @desig, @quant, @prix)";
try
{
using (var conn = loaddatabaseconnexion.connexion_BDD())
using (var cmd = new SqlCommand(query, conn))
{
cmd.Parameters.Add("@refp", SqlDbType.NVarChar).Value = tb_ref_add.Text;
cmd.Parameters.Add("@desig", SqlDbType.NVarChar).Value = tb_des_add.Text;
cmd.Parameters.Add("@quant", SqlDbType.Int).Value = Int32.Parse(tb_qte_add.Text);
cmd.Parameters.Add("@prix", SqlDbType.Money).Value = Decimal.Parse(tb_qte_add.Text);
int rowsAffected = cmd.ExecuteNonQuery();
if (rowsAffected == 0)
{
MessageBox.Show("Il y a eu un problème !");
conn.Close();
}
else
{
MessageBox.Show("Données sauvegardées !");
formulaire_principal.tableau();
conn.Close();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
formulaire_principal.tableau(); 在此过程中,我具有:this.produitsTableAdapter.Fill(this.databaseDataSet.produits);
如果您喜欢,我正在使用此原型:
//To execute your query
DataSet ds = new DataSet();
SqlDataAdapter da;
da = new SqlDataAdapter(query, conn);
da.Fill(ds, "Produits");
或者您可以使用SqlCommand
//To execute your query
DataSet ds = new DataSet();
SqlDataAdapter da;
da = new SqlDataAdapter(cmd);
da.Fill(ds, "Produits");
之后,您可以使用DataSet更新您的DataGridView
//Update your DataGridView
DataGridView1.DataSource = null;
DataGridView1.DataSource = ds.Tables("Produits");
我看不到您当前使用提供的代码执行此操作的位置,但是调用此存储过程后,您无法将数据源更新到Grid。 您可以使用带有ItemsSource属性的DataGrid的数据绑定功能来执行此操作,也可以通过编程方式执行此操作。
简便方法(IMO): <DataGrid ItemsSource="{Binding Source=YourData}">
<-您只需使用SP中的数据更新'YourData'。
我不打算重新发明另一篇文章中,所以看到这个堆栈溢出线程的详细信息,关于一个DataGrid绑定到对象源,并确保您与您的存储过程调用的数据更新此对象。 这篇文章上有很多信息,关于做什么和不做什么。 此外, 此站点还应该为您提供Windows窗体中的数据绑定的更一般的想法。
在不看到将数据绑定到网格的位置的情况下,很难给出确切的答案,因此,考虑到问题中包含的信息,这大约是我能做的。
希望能帮助到你。 蒙阿米,亲爱的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.