【发布时间】:2016-05-17 23:34:06
【问题描述】:
我目前正在研究数据库系统。在系统中,用户可以使用他们的 ID 搜索特定成员。搜索它们会将所有 DataGridView 结果过滤到该特定成员。
private void button3_Click(object sender, EventArgs e)
{
dataGridView1.ReadOnly = false;
using (SqlConnection con = new SqlConnection(constring))
{
int id = Convert.ToInt32(textBox1.Text);
con.Open();
DataTable FindAaron = new DataTable();
SqlDataAdapter adapt = new SqlDataAdapter("SELECT * FROM MembersTable WHERE MemberID =" + id, con);
adapt.Fill(FindAaron);
dataGridView1.DataSource = FindAaron;
con.Close();
}
}
此代码将 DataGridView 结果从表“MembersTable”中过滤到一行。用户现在可以物理地单击表格单元格并根据需要编辑数据。完成后,他们点击“保存更改”按钮,我想保存他们所做的更改,更新源表并用所有成员重新填充 DataGridView,现在使用更新的信息。这是我目前在“保存更改”按钮后面的代码。
try
{
//MemberClass.UpdateMember();
this.membersTableTableAdapter.Update(mainDatabaseDataSet.MembersTable);
dataGridView1.Refresh();
MessageBox.Show("Details updated");
}
catch
{
MessageBox.Show("An error has occured");
}
很遗憾,这并没有更新表单中的DataGridView来显示所有更新的数据或将已经编辑的数据保存回Sql表。对此感到困惑了几天,无法弄清楚我做错了什么。非常感谢任何和所有帮助。
【问题讨论】:
-
membersTableTableAdapter和adapt有什么联系?
标签: c# sql winforms datagridview refresh