我想知道这是不好的做法。我有一个50行的datagrid页面,每行有大约10个文本框。页面功能非常简单,只需一个按钮即可更新并保存在ms sql中。当用户单击该按钮时,需要很长时间才能保存。我在一个带有隐藏id字段id的sql循环中使用update。简单更新表的最佳方法是什么?
for (int i=0; i<options_bind.Items.Count; i++)
{
if (((CheckBox)options_bind.Items[i].FindControl("check_Save")).Checked )
{
call sql update one by one here
}
}
答案 0 :(得分:1)
使用 SqlCommanBuilder 将数据绑定到datagridview
sqlDataAdapter = new SqlDataAdapter(selectQueryString, sqlConnection);
sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
dataTable = new DataTable();
sqlDataAdapter.Fill(dataTable);
bindingSource = new BindingSource();
bindingSource.DataSource = dataTable;
yourDataGridView.DataSource = bindingSource;
然后是更新事件
try
{
sqlDataAdapter.Update(dataTable);
}
catch (Exception exceptionObj)
{
MessageBox.Show(exceptionObj.Message.ToString());
}