将更改从dataGridView保存到SQL Server DB

时间:2013-08-15 16:04:24

标签: c# sql sql-server database datagridview

我有一个带有dataGridView的表单来显示表Attendance的内容

    TagID      SessionID       ScanningTime
    ---------------------------------------
    4820427      Test1       14/08/2013 18:12

我想手动向表中添加一条记录,看起来像这样....

    TagID      SessionID       ScanningTime
    ---------------------------------------
    4820000      Test1       14/08/2013 18:12
    0000001      Test2       15/08/2012 17:00

...并在单击按钮后保存对SQL Server数据库的更改。

我尝试过创建UPDATE查询:

command.Text = "UPDATE Attendance
SET TagID= @tagNo, SessionID= @sessionNo, ScanningTime= @scantime"; 

但我不知道如何将DGV的值分配给参数。

将更改从dataGridView保存到SQL Server数据库的正确方法是什么?

请注意,使用DGV时我不使用DataSet或TableAdapter。

1 个答案:

答案 0 :(得分:0)

您将要使用RowsAdded的{​​{1}}方法并将必要信息缓存到DataGridView数据:

INSERT

然后当您准备好将数据提交到数据库时:

// new form field for caching
private List<DataGridViewRow> _addedRowsCache = new List<DataGridViewRow>();

private void dataGridView1_RowsAdded(object sender,
    DataGridViewRowsAddedEventArgs e)
{
    for (int i = e.RowIndex; i < e.RowIndex + e.RowCount; i++)
    {
        _addedRowsCache.Add(dataGridView.Rows[i]);
    }
}