• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

数据更新的问题!

carlton 2002-11-12 11:06:16
两个数据表,都只有一个String字段,纪录人的姓名,各有数行,其他设置也完全一样。分别用各自的OleDbAdaptder和OleDbCommandBuilder装入DataSet(fillCommand 都为“Select * from "Tablename"”),修改更新,其中对一个表的各种操作完全正常,而对另一个更新时则有问题,只能增加新行,删除或者修改实则有异常:
--------------------
未处理的“System.InvalidOperationException”类型的异常出现在 system.data.dll 中
附加信息:对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。
------------------
  各位高手,该怎么解决?
  谢谢!
...全文
5 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
carlton 2002-11-13
老大,你好厉害!
谢啦!
回复
TheAres 2002-11-12
MSDN中的例程有一些错误。 为了支持数据库更新, 我们可以使用SqlCommandBuilder自动生成DataAdapter的InsertCommand, UpdateCommand, 和DeleteCommand属性。 为了支持自动生成, 指定的SelectCommand必须包含主键或唯一性列。 如果没有, 则无法生成InsertCommand, UpdateCommand, 和DeleteCommand,并会抛出InvalidOperation异常。

关于更详细的信息和例程,请参看以下网页:
Q316758 DOC: Error in SqlCommandBuilder Code Sample
http://support.microsoft.com/support/kb/articles/q316/7/58.asp

Q310128 INFO: When to Use FillSchema and MissingSchemaAction
http://support.microsoft.com/support/kb/articles/q310/1/28.asp

http://msdn.microsoft.com/library/en-us/cpguide/html/cpconautomaticallygeneratedcommands.asp
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2002-11-12 11:06
社区公告

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