首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

奇怪的有关问题,进者有分

2012-01-23 
奇怪的问题,高分求教,进者有分!c# winform程序中有一个datagrid,数据源是dataset,连接到数据库,用下面的代

奇怪的问题,高分求教,进者有分!
c# winform程序中有一个datagrid,数据源是dataset,连接到数据库,用下面的代码更新

/******************************
DataSet change = dataSet11.GetChanges();
if(change != null)
{
  int numRows = sqlDataAdapter1.Update(change);
MessageBox.Show("数据更新完成 " + numRows + " 行!",
"更新",MessageBoxButtons.OK,MessageBoxIcon.Information);
dataSet11.AcceptChanges();
}
else 
{
MessageBox.Show("没有需要更新的数据","没有更新",
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
/*******************************

但是更新的时候出现这样的问题,比如我给datagrid中填一行数据,然后点更新按牛,用上面的代码更新,提示没有需要更新的数据,但是如果填好数据以后先用鼠标点其他行,在去更新就可以更新成功,请问这是为什么?

[解决办法]
datagrid中填一行数据,然后点更新。这个时候datagrid还没有重新绑定数据,所以它还是以前的内容
要重新绑定一下再更新。
点其他行,在去更新就可以更新成功,就是因为有了事件触发重新绑定了。
[解决办法]
进来关注下~~~
[解决办法]
UP
[解决办法]
/****************************** 

//rebind();//自己写的方法

DataSet change = dataSet11.GetChanges(); 
if(change != null) 

int numRows = sqlDataAdapter1.Update(change); 
MessageBox.Show("数据更新完成 " + numRows + " 行!", 
"更新",MessageBoxButtons.OK,MessageBoxIcon.Information); 
dataSet11.AcceptChanges(); 

else

MessageBox.Show("没有需要更新的数据","没有更新", 
MessageBoxButtons.OK,MessageBoxIcon.Information); 

/*******************************
[解决办法]
在更新之前先把datagrid.Binding()一下就OK了
[解决办法]
学习
[解决办法]
更新之后重新DataBind()一下就可以了
[解决办法]
1、确定添加记录后,DataSet里也增加了记录,并且RowState是添加的。
2、确定要更新的表中有主键。

热点排行