vb.net |使用OleDB更新数据库

vb.net |使用OleDB更新数据库,vb.net,oledb,Vb.net,Oledb,我用OleDB编写了一个连接到DB的模块,但是“sub-UpdateClients”不起作用,DB不更新 有什么遗漏或错误 此行->daClient.UpdatedsClient,CLUB\u CLIENT->无效 对不起,我的英语不太好 这一行之后数据库没有像我预期的那样更新 我的代码中缺少什么?我想我的数据库将更新。txtid将在我的表中的ClntId中 Module mdlDB Const CONNECTION_STRING As String = _ "pro

我用OleDB编写了一个连接到DB的模块,但是“sub-UpdateClients”不起作用,DB不更新

有什么遗漏或错误


此行->daClient.UpdatedsClient,CLUB\u CLIENT->无效 对不起,我的英语不太好

这一行之后数据库没有像我预期的那样更新

我的代码中缺少什么?我想我的数据库将更新。txtid将在我的表中的ClntId中

Module mdlDB
    Const CONNECTION_STRING As String = _
          "provider= Microsoft.Jet.OleDB.4.0;Data Source=DbHalf.mdb;mode= Share Deny None"
    Dim daClient As New OleDb.OleDbDataAdapter
    Dim dsClient As New DataSet
    Dim cmClient As CurrencyManager

    Public Sub OpenClients(ByVal txtId, ByVal txtName, ByVal BindingContext)

        Dim Con As New OleDb.OleDbConnection(CONNECTION_STRING)
        Dim sqlClient As New OleDb.OleDbCommand

        Con.Open()
        sqlClient.CommandText = "SELECT*"
        sqlClient.CommandText += "FROM tblClubClient"
        sqlClient.Connection = Con
        daClient.SelectCommand = sqlClient

        dsClient.Clear()
        daClient.Fill(dsClient, "CLUB_CLIENT")

        cmClient = BindingContext(dsClient, "CLUB_CLIENT")
        cmClient.Position = 0

        txtId.DataBindings.Add("text", dsClient, "CLUB_CLIENT.ClntId")
        txtName.DataBindings.Add("text", dsClient, "CLUB_CLIENT.ClntName")

        Con.Close()

    End Sub

    Public Sub UpdateClients(ByVal txtId, ByVal txtName, ByVal BindingContext)

        Dim cb As New OleDb.OleDbCommandBuilder(daClient)

        cmClient = BindingContext(dsClient, "CLUB_CLIENT")

        dsClient.Tables("CLUB_CLIENT").Rows(cmClient.Position).Item("ClntId") = txtId.Text
        dsClient.Tables("CLUB_CLIENT").Rows(cmClient.Position).Item("ClntName") = txtName.Text

        daClient.Update(dsClient, "CLUB_CLIENT")

    End Sub

End Module

有时,这些论坛中的人会被论坛协议或论坛礼仪挂断电话,如果你想一目了然的话,去看看苹果开发者论坛吧

答案隐藏在评论中——特别是:

由于在OpenClients-->Con.close中关闭连接,因此在UpdateClients例程中不可行


我还将强调关于使用TRY/CATCH的注释想法,并补充说,由于数据库连接可能会神秘地消失,您还可以在任何期望数据库连接打开的子例程中添加Con.State检查,即打开或关闭数据库连接。如果检查失败,您可以在继续之前重新调用OpenClient子例程。

缺少的是您对错误的描述。您的数据集已断开连接。约翰是对的。。。很难理解你在找什么。这一行->daClient.UpdatedsClient,CLUB\u CLIENT->dosen不工作对不起,我的英语不太好,这一行之后数据库不会像我预期的那样更新我的代码中缺少什么?我希望我的数据库将更新txtid,并将其保存在我的表中的ClntId中。您的数据集已断开连接-您的意思是什么?是否打开?是的,您必须重新打开连接,您应该在所有UpdateClient方法周围添加一个try-catch语句。您可能会发现异常。再想一想,您还没有指定Update命令。我不知道是否需要绑定上下文,但我认为。朱