如何读写DataGridView数据到Sql Table

Posted

技术标签:

【中文标题】如何读写DataGridView数据到Sql Table【英文标题】:How to read and write DataGridView data to Sql Table 【发布时间】: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表。对此感到困惑了几天,无法弄清楚我做错了什么。非常感谢任何和所有帮助。

【问题讨论】:

membersTableTableAdapteradapt有什么联系? 【参考方案1】:

实际上membersTableTableAdapteradaptmainDatabaseDataSet.MembersTableFindAaron 之间没有任何联系。

尝试如下;

//Get the changed data
DataTable changes = FindAaron.GetChanges();

if (changes != null)

    //Update data
    adapt.Update(changes);    

【讨论】:

以上是关于如何读写DataGridView数据到Sql Table的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 从 SQL Server 数据库中逐行将数据检索到 datagridview 中

怎么将dataGridView中的数据添加到SQL数据库中??

C# 怎么把从数据库查询出来的东西累加到dataGridView里面去

如何根据 c# winforms 中的列日期和名称将 sql 中的数据输入到特定的 datagridview 单元格中

从datagridview中删除所有选定的行

如何将datagridview中数据导出