如何读取和写入 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 表。为此困惑了几天,无法弄清楚我做错了什么。非常感谢任何和所有的帮助。

如何读取和写入 DataGridView 数据到 Sql Table

实际上,

membersTableTableAdapteradaptmainDatabaseDataSet.MembersTableFindAaron之间没有联系。

尝试如下;

//Get the changed data
DataTable changes = FindAaron.GetChanges();
if (changes != null)
{
    //Update data
    adapt.Update(changes);    
}