importrow更新数据出现问题

youkan0521 2016-01-11 03:56:47
我通过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;
}
...全文
156 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youkan0521 2016-01-12
  • 打赏
  • 举报
回复
up up up
youkan0521 2016-01-11
  • 打赏
  • 举报
回复
引用 1 楼 tjw8803 的回复:
这样试试呢?
dtUpdate.BeginLoadData();

。。。。。。

dtUpdate.AcceptChanges();
dtUpdate.EndLoadData();
不管用
Tian戊辰 2016-01-11
  • 打赏
  • 举报
回复
这样试试呢?
dtUpdate.BeginLoadData();

。。。。。。

dtUpdate.AcceptChanges();
dtUpdate.EndLoadData();

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧