批量更新MySQL表并从DataGridView计算值。 vb.net

发布于 2025-02-08 02:22:31 字数 1243 浏览 5 评论 0原文

我想使用DataGridView的值进行批量更新数据库表,但我还需要总结DataGridView和MySQL表值FISRT。 我该怎么做?

这是我当前的更新按钮的代码

附加图像

        For Each row As DataGridViewRow In dgvStok.Rows
            If (Not row.IsNewRow) Then
                Dim ID As DataGridViewCell = row.Cells("ID").Value
                Dim Stok As DataGridViewCell = row.Cells("Stok").Value

                conn = New MySqlConnection('myconnstring)
                conn.Open()

                cmd = New MySqlCommand("Select * from tbStok where ID='" & ID & "'", conn)
                dr = cmd.ExecuteReader
                dr.Read()
                If dr.HasRows Then
                    Dim StokInventory, IncomingStok As Integer
                    StokInventory = dr.Item("Stok")
                    TotalStok = StokInventory + IncomingStok

                    Dim updateStok As String = "update tbStok set Stok ='" & TotalStok & "' where ID = '" & ID & "'"
                    cmd = New MySqlCommand(updateStok, conn)
                    cmd.ExecuteNonQuery()
                End If
                conn.Close()
            End If
        Next

I want to do bulk update my database table using value from datagridview, but also I need to sum the datagridview and mysql table value fisrt.
how do I do that?

here is my current code of my update button

attached image

        For Each row As DataGridViewRow In dgvStok.Rows
            If (Not row.IsNewRow) Then
                Dim ID As DataGridViewCell = row.Cells("ID").Value
                Dim Stok As DataGridViewCell = row.Cells("Stok").Value

                conn = New MySqlConnection('myconnstring)
                conn.Open()

                cmd = New MySqlCommand("Select * from tbStok where ID='" & ID & "'", conn)
                dr = cmd.ExecuteReader
                dr.Read()
                If dr.HasRows Then
                    Dim StokInventory, IncomingStok As Integer
                    StokInventory = dr.Item("Stok")
                    TotalStok = StokInventory + IncomingStok

                    Dim updateStok As String = "update tbStok set Stok ='" & TotalStok & "' where ID = '" & ID & "'"
                    cmd = New MySqlCommand(updateStok, conn)
                    cmd.ExecuteNonQuery()
                End If
                conn.Close()
            End If
        Next

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蘑菇王子 2025-02-15 02:22:31

我找到了我的解决方案

Private Sub UpdateBTN_Click(sender As Object, e As EventArgs) Handles UpdateBTN.Click
    Dim ID As String
    Dim StartingStok, IncomingStok, TotalStok As Integer

    For Each DGVR As DataGridViewRow In dgvStok.Rows
        ID = (DGVR.Cells("ID").Value)
        IncomingStok= (DGVR.Cells("Stok").Value)

        #open mysql connection string

        cmd = New MySqlCommand("Select * from tbStok where ID='" & ID & "'", conn)
        dr = cmd.ExecuteReader
        dr.Read()
        If dr.HasRows Then
            StartingStok = dr.Item("Stok")
        End If
        conn.Close()

        TotalStok = StartingStok + IncomingStok

        #open mysql connection string

        Dim UpdateTable As String = "update tbStok set Stok ='" & TotalStok & "' where ID = '" & ID & "'"
        cmd = New MySqlCommand(UpdateTable, conn)
        cmd.ExecuteNonQuery()
        conn.Close()
    Next
End Sub

此代码将通过datagridView和每个ID(主键)从datagridview和mySQL表中循环循环,然后它将使用新值更新该表,该表由汇总datagridview表和每个ID的mysql表更新

I've found my solution

Private Sub UpdateBTN_Click(sender As Object, e As EventArgs) Handles UpdateBTN.Click
    Dim ID As String
    Dim StartingStok, IncomingStok, TotalStok As Integer

    For Each DGVR As DataGridViewRow In dgvStok.Rows
        ID = (DGVR.Cells("ID").Value)
        IncomingStok= (DGVR.Cells("Stok").Value)

        #open mysql connection string

        cmd = New MySqlCommand("Select * from tbStok where ID='" & ID & "'", conn)
        dr = cmd.ExecuteReader
        dr.Read()
        If dr.HasRows Then
            StartingStok = dr.Item("Stok")
        End If
        conn.Close()

        TotalStok = StartingStok + IncomingStok

        #open mysql connection string

        Dim UpdateTable As String = "update tbStok set Stok ='" & TotalStok & "' where ID = '" & ID & "'"
        cmd = New MySqlCommand(UpdateTable, conn)
        cmd.ExecuteNonQuery()
        conn.Close()
    Next
End Sub

This code will looping through datagridview and sum value from datagridview and mysql table for each ID(primary key) and then it will update the table with new value which is from summarizing datagridview table and mysql table for each ID

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文