importrow更新数据出现问题
我通过textbox向datagridview的某单元格赋值,然后用以下代码更新数据库
问题出在执行importrow时,dtShow和dtUpdate的rowstate属性都是unchanged。导致importrow没有生效。
我发现,在textbox向单元格赋值完后先点击其它单元格,就可以更新(rowstate变成了modified)。尝试了用focus()来使其他单元格获取焦点,但仍然不行。不知道该怎么改动。
private Boolean dbUpdate()
{
string strSql = "select * from PRODUCT";
DataTable dtUpdate = new DataTable();
dtUpdate = this.dbconn(strSql);
dtUpdate.Rows.Clear();
DataTable dtShow = new DataTable();
dtShow = (DataTable)this.dataGridView1.DataSource;
for (int i = 0; i < dtShow.Rows.Count; i++)
{
//dtUpdate.Rows.Add(dtShow.Rows[i].ItemArray);
dtUpdate.ImportRow(dtShow.Rows[i]);
}
try
{
string Constr = "server;database;uid;pwd";
SqlConnection conn = new SqlConnection(Constr);
conn.Open();
SqlCommandBuilder CommandBuilder;
CommandBuilder = new SqlCommandBuilder(this.adapter);
this.adapter.Update(dtUpdate);
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
dtUpdate.AcceptChanges();
return true;
}