【问题标题】:Dataset not being updated vb.net数据集未更新 vb.net
【发布时间】:2012-11-27 17:52:44
【问题描述】:

在加载表单时,我使用以下代码填充数据集:

Con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Congress.accdb;Persist Security Info=False"
Con.Open()

dAp1 = New OleDbDataAdapter("Select * from VotingRecords", Con)
DS.Tables.Add("VotingRecords")
dAp1.Fill(DS.Tables("VotingRecords"))

BindingNavigator1.BindingSource = myBS
myBS.DataSource = DS.Tables("VotingRecords")

Me.BillComboBox.DataBindings.Add(New Binding("Text", myBS, "BillNumber", True))
Me.CongressPersonComboBox.DataBindings.Add(New Binding("Text", myBS, "CID", True))
Me.VoteComboBox.DataBindings.Add(New Binding("Text", myBS, "Vote", True))

这里所有的 Con、dAP1、DS、myBS 变量都是全局或表单级变量。

点击保存按钮时:

Try
    myBS.EndEdit()
    dAp1.Update(DS.Tables("VotingRecords"))
Catch ex As Exception
    MsgBox("Error")
End Try

不知道为什么它显示错误;错误信息:

在传递 DataRow 集合时,更新需要有效的 UpdateCommand 修改后的行。

【问题讨论】:

    标签: vb.net binding dataset


    【解决方案1】:

    您需要在OleDbDataAdapter 上设置UpdateCommand 属性。

    dAp1 = New OleDbDataAdapter("Select * from VotingRecords", Con)
    dAp1.UpdateCommand = new OleDbCommand("UPDATE VotingRecords SET Column1 = ?, Column2 = ? WHERE Column3 = ?")
    dAp1.UpdateCommand.Parameters.Add("Column1", column1OleDbType, column1Length, "Column1")
    dAp1.UpdateCommand.Parameters.Add("Column2", column2OleDbType, column2Length, "Column2")
    dAp1.UpdateCommand.Parameters.Add("Column3", column3OleDbType, column3Length, "Column3")
    dAp1.UpdateCommand.Parameters("Column3").SourceVerion = DataRowVersion.Original
    

    文档:http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbdataadapter.updatecommand.aspx

    【讨论】:

      【解决方案2】:

      得到它的工作....感谢
      http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update.aspx

      它是我缺少的命令生成器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-04
        • 1970-01-01
        • 2012-04-25
        • 2011-08-09
        • 1970-01-01
        • 1970-01-01
        • 2012-11-03
        相关资源
        最近更新 更多