datagridview当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。
以下是一个网友的问题,我也遇到了,记得在 更新前 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。相关推荐
- Tabulator javascript data grid数据表格控件检测已修改行数据
Tabulator 可以通过table.getEditedCells()获得编辑修改过的单元格,在通过单元格的getRow()函数获得行对象,让后通过行对象的.getData()函数获得编辑修改过行数 ...
- HDU 2152 选课时间(题目已修改,注意读题) (母函数)
选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU-2079 选课时间(题目已修改,注意读题) -母函数
选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 48道C语言上机题参考答案,二级C语言上机题库参考答案(已修改).doc
二级C语言上机题库参考答案(已修改).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印 ...
- 怎么回事儿?C#错误:集合已修改;枚举操作可能无法执行。
本意是遍历表的行,当行中"主键"列为""时,将该行从表中删除.执行时就出现了"集合已修改:枚举操作可能无法执行."的c#错误提示.c#错误代 ...
- C# DataGridView控件动态添加新行
目录 方法一: 方法二: ① DataGridView 取得或者修改当前单元格的内容: ② DataGridView 设定单元格只读: ③ DataGridView 不显示最下面的新行: ④ Data ...
- pandas使用itertuples函数迭代dataframe中的数据行并自定义修改行中的数值(update row while iterating over the rows)
pandas使用itertuples函数迭代dataframe中的数据行并自定义修改行中的数值(update row while iterating over the rows in datafram ...
- 集合已修改;可能无法执行枚举操作。
问题描述:在用foreach遍历hashtable的时候,弹出"集合已修改:可能无法执行枚举操作." 问题代码: private void Check(int TimeOut) ...
- sublime自定义主题-修改行号的颜色
打开以下链接: http://tmtheme-editor.herokuapp.com/#!/editor/theme/Cobalt 找到自己当前使用的主题,然后点击页面最下方的+号即可. 中間的下方 ...
最新文章
- 通过python利用哈希值实现比较两个文件的一致性
- windows server2008 双线接入设置(电信联通双线)
- maven构建SSM工程[应用]1
- python好学-所有人都说Python 简单易学,为何你觉得难?
- KVM的客户机可以使用的存储
- MATLAB AWGN信道 M-ary PSK 误码性能
- 数据库SQL语句 使用DML语言 插入数据
- word文档查重_「毕业之家」揭秘:大学生知网论文查重的规则及查重原理
- 数据分析与挖掘理论-数据预处理
- qsort与sort
- java biginteger使用_在Java中使用BigInteger值
- 人脸识别的前世今生:从人工特征的百花齐放到深度学习的一统江湖
- TransR:实体和关系分开嵌入(知识图谱嵌入)2015 AAAI
- 使用TortoiseSVN下载SourceForge.net上的代码
- Android学习笔记---16_采用SharedPreferences保存用户偏好设置参数
- VALSE学习(三):深度学习梯度讲解
- 图神经网络初探:build a simple graph nets
- (2)从文件中解析JSON数据
- 关于optisystem中的变量解析
- lwj_C#_集合stack栈和queue队列
热门文章
- 网络和计算机管理制度,网络和计算机使用管理制度
- php代码怎么复制_PHP_PHP网站备份程序代码分享,效果图:PHP代码 复制代码 代码 - phpStudy...
- java恶作剧小程序_一个Java恶搞小程序
- 5u fb库 三菱plc_三菱FX5U PLC入门必备基础知识特点
- 075_JSON.parse()
- python安装包_在python官网打不开的情况下获取获取官方最新安装包
- ffmpeg-win32-v3.2.4 下载_iTools下载|iTools 4.4.3.4 官方中文版
- php代码冗余度检查插件,冗余代码检测与处理使用什么工具
- easyui js解析字符串_easyui的解析器Parser
- linux arm 常用服务,ARM、linux常用服务器+交叉编译工具链