以下是一个网友的问题,我也遇到了,记得在 更新前  Me.Contract_DesDA.Update(Me.ds.Tables("合同内容列表"))
要 Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(Contract_DesDA)

经测试,数据库定义了主键,在ds里面没必要像下文再定义了

~~~~~~~~~~~~~~~~~~

运行时,在datagridview中修改数据,然后点击Button1,预期结果:更新数据到Access,实际结果:提示"当传递具有已修改行的DataRow集合时,更新要求有效的UpdateCommand"

另外说明一下:1 使用的是Access 2003  2.tContract_Des这张表中已经设置主键了。

代码补齐如下:
======================================
Option  Strict  On
Imports  System.Data.OleDb

Public  Class  Form1
        Private  ds  As  New  DataSet    '  数据集对象的类别层级建立
        Private  cnnStringBuilder  As  New  OleDbConnectionStringBuilder()      '  利用  OleDbConnectionStringBuilder  对象来构建连接字符串。
        Private  cn  As  OleDbConnection
        Private  Contract_DesDA  As  OleDbDataAdapter
        Private  cmContract_Des  As  String

Private  Sub  Form1_Load(ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  MyBase.Load
                cnnStringBuilder.DataSource  =  "F:\外贸\test.mdb"
                cnnStringBuilder.Provider  =  "Microsoft.Jet.OLEDB.4.0"

cmContract_Des  =  "SELECT  *  FROM  tContract_Des"                                 
                cn  =  New  OleDbConnection(cnnStringBuilder.ConnectionString)
                Contract_DesDA  =  New  OleDbDataAdapter(cmContract_Des,  cn)
                Contract_DesDA.Fill(ds,  "合同内容列表")
               
                Dim myPIColArray(1) As DataColumn                                       
                myPIColArray(0) = ds.Tables("合同内容列表").Columns("Contract_Des_ID")
                ds.Tables("合同内容列表").PrimaryKey = myPIColArray

Me.BindingSource1.DataSource  =  ds.Tables("合同内容列表")
                Me.DataGridView1.DataSource  =  Me.BindingSource1

End  Sub

Private Sub btnUpdate_Click(ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  Button1.Click
            Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(Contract_DesDA)
              Me.Contract_DesDA.Update(Me.ds.Tables("合同内容列表"))
        End  Sub
End  Class

http://topic.csdn.net/u/20071209/15/d9b0ddc9-de7b-40c7-ae58-7a7a584a28a2.html
======================================

转载于:https://www.cnblogs.com/yzy666/archive/2010/02/25/1673785.html

datagridview当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。相关推荐

  1. Tabulator javascript data grid数据表格控件检测已修改行数据

    Tabulator 可以通过table.getEditedCells()获得编辑修改过的单元格,在通过单元格的getRow()函数获得行对象,让后通过行对象的.getData()函数获得编辑修改过行数 ...

  2. HDU 2152 选课时间(题目已修改,注意读题) (母函数)

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. HDU-2079 选课时间(题目已修改,注意读题) -母函数

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. 48道C语言上机题参考答案,二级C语言上机题库参考答案(已修改).doc

    二级C语言上机题库参考答案(已修改).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印 ...

  5. 怎么回事儿?C#错误:集合已修改;枚举操作可能无法执行。

    本意是遍历表的行,当行中"主键"列为""时,将该行从表中删除.执行时就出现了"集合已修改:枚举操作可能无法执行."的c#错误提示.c#错误代 ...

  6. C# DataGridView控件动态添加新行

    目录 方法一: 方法二: ① DataGridView 取得或者修改当前单元格的内容: ② DataGridView 设定单元格只读: ③ DataGridView 不显示最下面的新行: ④ Data ...

  7. pandas使用itertuples函数迭代dataframe中的数据行并自定义修改行中的数值(update row while iterating over the rows)

    pandas使用itertuples函数迭代dataframe中的数据行并自定义修改行中的数值(update row while iterating over the rows in datafram ...

  8. 集合已修改;可能无法执行枚举操作。

    问题描述:在用foreach遍历hashtable的时候,弹出"集合已修改:可能无法执行枚举操作." 问题代码: private void Check(int TimeOut)   ...

  9. sublime自定义主题-修改行号的颜色

    打开以下链接: http://tmtheme-editor.herokuapp.com/#!/editor/theme/Cobalt 找到自己当前使用的主题,然后点击页面最下方的+号即可. 中間的下方 ...

最新文章

  1. linux开发板蓝牙连接,开发板蓝牙通信问题,有这方面经验的请进
  2. 使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈
  3. iOS内存管理(ARC,MRC)
  4. (原)离开,只为更好的活着
  5. 《从零开始学ASP.NET CORE MVC》:VS2019创建ASP.NET Core Web程序(三)
  6. C#中static void Main(string[ ] args)中的作用及解释
  7. 端到端测试_端到端测试的滥用–测试技术2
  8. pytorch 如何将张量、类实例、函数放到GPU上
  9. SQL server连接数据库
  10. 软件设计师历年真题常错的题加解析——上午题
  11. raid数据恢复案例之:服务器Raid5磁盘阵列数据恢复过程
  12. 谷歌浏览器Google Chrome如何在打开新标签页时设置指定网址
  13. java台球游戏_java桌球小游戏项目
  14. DES子密钥计算具体步骤
  15. 快速破解专业操盘手核心机密(全套)
  16. 关于移动端适配100vh的问题
  17. pytorch loss反向传播出错
  18. DFS【古希腊之争(一)】
  19. dbg 寻找main函数
  20. cocos2d带冷却的菜单按钮封装

热门文章

  1. 2.4g和5g要不要合并_2.4 序列之字符串
  2. parent winform 位置_winform 弹出窗体指定位置
  3. 服务器响应时延,服务器响应时延
  4. 包区别 版本_详解Linux下二进制包、源代码包、rpm包区别与联系
  5. Property ‘configuration‘ and ‘configLocation‘ can not specified with together
  6. 014_SpringBoot视图层技术thymeleaf-访问域对象
  7. python中randn函数_numpy常用函数之randn
  8. Android开发常用开源框架3
  9. ping连接linux无法访问目标主机,无法访问目标主机是什么情况【解决方法】
  10. 配置tomcat的环境变量