我有一个带有 dataGridView 的表单来显示出勤表的内容
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
我希望用户能够在单击按钮后将更改从 DGV 保存到 SQL 服务器,但不知道如何实现这一点。请注意,我在使用 DGV 时不使用 DataSet 或 TableAdapter。
我的代码:
private void UpdateBtn_Click(object sender, EventArgs e)
{
foreach (var row in dataGridView1.Rows)
{
string ConnStr = "Data Source=DUZY;Initial Catalog=AutoRegSQL;Integrated Security=True";
SqlConnection MyConn = new SqlConnection(ConnStr);
MyConn.Open();
string query = @"UPDATE Attendance" +
" SET TagID= @tagNo, SessionID= @sessionNo, ScanningTime= @scantime ";
SqlCommand command = new SqlCommand(query, MyConn);
command.Parameters.Add("tagNo", SqlDbType.Int).Value = //HOW TO GET VALUE FROM row.TagID column?
command.Parameters.Add("sessionNo", SqlDbType.Char).Value = //HOW TO GET VALUE FROM row.SessionID column?
command.Parameters.Add("scantime", SqlDbType.DateTime2).Value = //HOW TO GET VALUE FROM row.ScanningTime column?
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(queryResult);
RoomActiveSessionForm.DGVSetDataSouce(queryResult);
MyConn.Close();
}
}