【问题标题】:Update Access database records by column, row known按列、已知行更新 Access 数据库记录
【发布时间】:2014-03-20 17:28:47
【问题描述】:

这是我到目前为止所得到的:

        Dim myCONN As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=w:\Baza.mdb")

    Dim cmd1 = New OleDbCommand("SELECT ID FROM Baza WHERE NAZIV=@XXNAZIV")
    cmd1.Parameters.AddWithValue("@XXNAZIV", TextBox2.Text)

    cmd1.Connection = myCONN
    myCONN.Open()
    Dim result = cmd1.ExecuteReader()
    While (result.Read())
        Dim rowx As Integer = GetTextOrEmpty(result("ID"))
    End While

我找到了我想要更改 20 个对应列(namesID:NAZIV、SIFRA、...)中值的行 (rowx)。数据已在文本框 (textbox1...) 中呈现,但我不知道如何使用 UPDATE 完成此代码以及如何将更改的值插入回 Access。

【问题讨论】:

    标签: vb.net ms-access


    【解决方案1】:
    Dim cmdText As String = "UPDATE Baza SET NAZIV=@XXNAZIV Where ID=SomeId"
    
    Using con = new OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source = h:\Baza.mdb")
    Using cmd = new OleDbCommand(cmdText, con)
        con.Open()
        cmd.Parameters.AddWithValue("@XXNAZIV",TextBox2.Text)
    
        cmd.ExecuteNonQuery()
    End Using
    End Using
    

    这应该可以帮助您解决问题,当然您还必须将ID 参数传递给查询。

    Reference

    【讨论】:

    • 我使用 ("SELECT ID FROM Baza WHERE NAZIV=@XXNAZIV") 来查找行号或 ID。我不想更新 NAZIV。我想要的是根据 ID 号(rowx)更新所有 20 列对应的 ID(rowx),当前值已经在文本框中设置(使用另一个代码)。
    • 谢谢你的参考,我现在明白了。
    • 不客气,我从答案中复制并编辑了部分代码,但我提供了参考以防万一。
    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2020-12-12
    • 2018-06-08
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多