使用oledb参数更新访问数据库中的多个行

时间:2012-08-24 14:26:00

标签: sql vb.net oledb

我正在尝试使用参数更新访问数据库中的多行。我已经有代码插入数据库,但我需要相同类型的代码来更新数据库。 我的更新字符串看起来像Update tblitem set instock='value' where itemcode='value2' 这是我要插入的代码:

strSQL = "insert into tbltrans2 (transid,itemcode,itemname,qty,price,[total],btw) values ( ?,?,?,?,?,?,?)"
Using cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\POS.mdb"), _
    cmd As New OleDbCommand(strSQL, cn)

    cmd.Parameters.Add("?", OleDbType.VarChar).Value = txtTransId.Text
    cmd.Parameters.Add("?", OleDbType.VarChar, 10)
    cmd.Parameters.Add("?", OleDbType.VarChar, 50)
    cmd.Parameters.Add("?", OleDbType.Integer)
    cmd.Parameters.Add("?", OleDbType.Decimal)
    cmd.Parameters.Add("?", OleDbType.Decimal)
    cmd.Parameters.Add("?", OleDbType.VarChar, 50)

    cn.Open()
    For Each ls As ListViewItem In ListItems.Items
        cmd.Parameters(1).Value = ls.Tag
        cmd.Parameters(2).Value = ls.SubItems(0).Text
        cmd.Parameters(3).Value = Integer.Parse(ls.SubItems(1).Text)
        cmd.Parameters(4).Value = Decimal.Parse(ls.SubItems(2).Text)
        cmd.Parameters(5).Value = Decimal.Parse(ls.SubItems(3).Text)
        cmd.Parameters(6).Value = ls.SubItems(5).Text
        cmd.ExecuteNonQuery()
    Next ls
End Using

1 个答案:

答案 0 :(得分:0)

在最基本的层面上,您应该像修改插入查询一样修改sql字符串以指示参数占位符(?),例如

Update tblitem set instock=? where itemcode=?

除此之外的概念,例如创建/设置参数,基本上是相同的。希望我能正确理解你的问题。祝好运。

相关问题