日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。