如何读取和写入 DataGridView 数据到 Sql Table
本文关键字:DataGridView 数据 Table Sql 何读取 读取 | 更新日期: 2023-09-27 18:33:35
我目前正在研究数据库系统。在系统中,用户可以使用其 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 结果筛选为表"成员表"中的一行。用户现在可以物理单击表格单元格并根据需要编辑数据。完成后,他们点击"保存更改"按钮,我想保存他们所做的更改,更新源表并使用所有成员重新填充 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
或mainDatabaseDataSet.MembersTable
和FindAaron
之间没有联系。
尝试如下;
//Get the changed data
DataTable changes = FindAaron.GetChanges();
if (changes != null)
{
//Update data
adapt.Update(changes);
}