【发布时间】:2012-04-21 13:15:31
【问题描述】:
我有一个在表单的加载事件中填充了表格集合的 datagridview,我还有一个由用户填写的表格,并且在表格 onclick 事件中添加了新行,我想在添加新的数据后更新 datagridview行到表中,我使用绑定到绑定数据源的 sqladapter。 这是代码
private void button1_Click(object sender, EventArgs e)
{
connection.Open();
string nv = textBox7.Text.Trim().Replace(',', '.');
//
string sql="";
sql = "INSERT INTO Employe(id_cnss, nom, prenom, adresse, tel,email,mt_heur_travail, titre) VALUES('"+textBox1.Text.ToString().Trim()+"','"+textBox2.Text.ToString().Trim()+"','"+textBox3.Text.ToString().Trim()+"','"+richTextBox1.Text.ToString().Trim()+"','"+textBox4.Text.ToString().Trim()+"','"+textBox5.Text.ToString().Trim()+"',"+nv+",'"+textBox6.Text.Trim()+"')";
// sql = "UPDATE Employe SET id_cnss ='" + + "' , nom ='" + + "', prenom ='" + + "', adresse ='" + + "', tel ='" + + "', email ='" + + "', mt_heur_travail =" + + ", titre ='" + + "' where id_cnss=" + index;
c = new SqlCommand(sql, connection);
c.CommandText = sql;
// IAsyncResult res;
int ex = c.ExecuteNonQuery();
if (ex != null)
{
MessageBox.Show("employé ajouté");
//dataGridView1.Rows.Clear();
//DataTable table = (DataTable)dataGridView1.DataMember;
adapter = new SqlDataAdapter("select * from employe where id_emp=IDENT_CURRENT('EMPLOYE')", connection);
adapter.Fill(dTable);
//adapter.Update(dTable);
dataGridView1.Refresh();
}
connection.Close();
}
此代码将表的所有行添加到 datagridview 但我只需要添加添加到数据库中的最新行 简而言之,当用户点击添加时,
我希望将新行添加到 datagridview 并提前感谢您
【问题讨论】:
-
不清楚您的问题是什么。您是否在问为什么数据库中的新行没有出现在 datagridview 中?或者如何将添加到datagridview的行添加到数据库中?还有什么?
-
我在问为什么数据库中的新行(添加了 onclick 事件)也没有添加到 datagridview 中。 adapter.fill(dtable) 添加数据库的所有行,但我只需要添加新行
-
感谢您的编辑 - 所以您的问题似乎是当您使用第二种形式向数据源添加行时,即使使用 .Refresh() 命令,datagridview 也不会反映这些更改?我认为您现在不能发表评论(由于声誉低下),所以也许只是更新您的问题。如果这是您的问题,那么很容易解决。
标签: c# .net datagridview