假设只有2列的一个简单表UserTable: UserID: int, IDENTITY (1, 1), NOT NULL UserName: varchar(10)请大家想象下列情景: 1.当填充DataSet时该表的@@IDENTITY=50 2.其它程序操作UsetTable而使UserTable的@@IDENTITY=53 3.向DataSet中插入一条新的记录,此时ADO.net会默认UserID=51. 4.按照MSDN上推荐的方法刷新数据集: DataSet changed=dataset.GetChanges(); m_Adpter.update(changed); dataset.merge(changed);这时,数据集中就莫名其妙的出现两条记录,一条UserID=51,一条UserID=54.其它字段均相同。其原因是: 数据集changed中所包含的UserID=51的记录在执行完m_Adpter的InsertCommand后,UserID变成54,将其合并到dataset时,该行作为行添加,而不是去更改UserID=51的行。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18