【问题标题】:Update query with Autonumber field in ms access from VB.NET在 VB.NET 的 ms 访问中使用自动编号字段更新查询
【发布时间】:2013-04-30 10:21:28
【问题描述】:

我如何在 VB.NET 的 ms 访问中使用自动编号字段更新数据。我尝试使用此代码进行更新。但没有任何改变。

Private Sub BTNUPDATE_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BTNUPDATE.Click
    Try
        getConnect()

        Dim strSQL As String
        Dim iCount As Integer
        strSQL = " UPDATE DEPARTMENT SET [DEPART]=@DEPART,[DEP_DSCRPTN]=@DEP_DSCRPTN WHERE [DEP_ID] = @DEP_ID"
        Dim cmd As New OleDb.OleDbCommand(strSQL, Conn)
        cmd.Parameters.AddWithValue("@DEP_ID", CInt(DEPID.Text))
        cmd.Parameters.AddWithValue("@DEPART", CMBDEPT.Text)
        cmd.Parameters.AddWithValue("@DEP_DSCRPTN", TXTDESC.Text)
        Conn.Open()
        iCount = cmd.ExecuteNonQuery()
        Conn.Close()
        If iCount > 0 Then
            MessageBox.Show("Record Updated Successfully!", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information)
            If Windows.Forms.DialogResult.OK Then
                BTNCLEAR.PerformClick()
            End If
        Else
            MsgBox("No record was inserted")
        End If

    Catch ex As Exception
        MsgBox("ERROR: " + ex.Message, MsgBoxStyle.Information, "Update")
    Finally

        BTNCLEAR.PerformClick()
    End Try

End Sub

在数据库DEP_ID 中是自动编号。而DEPID 是一个标签框,用于检索DEP_ID。实际上标签隐藏在表单中。我试试上面的代码。但是数据库没有任何变化。请检查我的代码并纠正我。

【问题讨论】:

    标签: vb.net ms-access


    【解决方案1】:

    问题在于您声明参数的顺序。
    OleDb 提供者不使用参数名称,而是使用它在集合中的位置

    在您的查询中,@DEP_ID 参数是最新的,但在集合中您将其声明为第一个。
    如果查询没有更新错误的记录,你就很幸运了。

        strSQL = " UPDATE DEPARTMENT SET [DEPART]=@DEPART,[DEP_DSCRPTN]=@DEP_DSCRPTN WHERE [DEP_ID] = @DEP_ID"
        Dim cmd As New OleDb.OleDbCommand(strSQL, Conn)
        cmd.Parameters.AddWithValue("@DEPART", CMBDEPT.Text)
        cmd.Parameters.AddWithValue("@DEP_DSCRPTN", TXTDESC.Text)
        cmd.Parameters.AddWithValue("@DEP_ID", CInt(DEPID.Text)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-04
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 2022-11-17
      相关资源
      最近更新 更多