之前我通过循环数据表到数据库进行了sql插入,但现在我想用dapper更新到数据库,请指导我,以便我采取的方法没有错误,因为稍后这个过程将与金额相关库存商品数量。
谢谢
Public Class Form2
Inherits Form
Dim itrservice As New ItemtransfersService()
Sub New()
InitializeComponent()
End Sub
Public Sub New(item As ItemTransfers)
Me.New
DataGridView1.DataSource = itrservice.GetItemTransfersDetail(item.Invno)
DataGridView1.Columns(1).Visible = False
TextBox1.Text = item.Invno
TextBox2.Text = item.Created
Private Sub BtnUpdate_Click(sender As Object, e As EventArgs) Handles BtnUpdate.Click
If DataGridView1.RowCount = 0 Then
Throw New Exception("Enter Item data item first")
End If
Dim obj = New ItemTransfers With {
.Modified = DateTime.Now
}
itrservice.UpdateItemTransfers(obj)
'For i = 0 To _myTable.Rows.Count - 1
' Dim detail = New ItemTransfersDetail With {
' ' .No = Convert.ToInt32(_myTable.Rows(i)(0)),
' ' .CodeProduct = _myTable.Rows(i)(1).ToString(),
' ' .Barcode = _myTable.Rows(i)(2).ToString(),
' ' .Colorcode = _myTable.Rows(i)(3).ToString(),
' ' .Size = _myTable.Rows(i)(4).ToString(),
' ' .Qty = Convert.ToInt32(_myTable.Rows(i)(5).ToString())
' ' }
' 'itrservice.UpdateItemTransfersdetail(detail)
'Next i
End Sub
End Class
Public Sub UpdateItemTransfers(ByVal Obj As ItemTransfers)
Dim sql = $"UPDATE `Stocksout` Set Modified`='{Obj.Modified}' WHERE `Invno`='{Obj.Invno}';"
Using _conn = New OleDbConnection(GetOledbConnectionString())
_conn.Execute(sql)
End Using
End Sub
Public Sub UpdateItemTransfersdetail(ByVal Obj As ItemTransfersDetail)
Dim sql = $"UPDATE `Stocksoutdetail` Set `No`={Obj.No},`CodeProduct`='{Obj.CodeProduct}',`Barcode`='{Obj.Barcode}',`Colorcode`='{Obj.Colorcode}',`Size`='{Obj.Size}',`Qty`={Obj.Qty} WHERE `Invno`='{Obj.Invno}';"
Using _conn = New OleDbConnection(GetOledbConnectionString())
_conn.Execute(sql)
End Using
End Sub
Public Sub Updatestockminus(ByVal Obj As Stocks)
Dim sql = $"UPDATE `Stocks` Set `QTY_STOCK`= {Obj.Qty_Stock},`QTY_STOCKOUT`= {Obj.Qty_Stockout} WHERE `CodeProduct`='{Obj.CodeProduct}' and `BARCODE`='{Obj.Barcode}' and `COLORCODE`='{Obj.Colorcode}' and `SIZE`='{Obj.Size}';"
Using _conn = New OleDbConnection(GetOledbConnectionString())
_conn.Execute(sql)
End Using
End Sub
表单视图(表单2)
此链接提供了我的问题的解决方案链接!
Private Sub BtnUpdate_Click(sender As Object, e As EventArgs) Handles BtnUpdate.Click
If DataGridView1.RowCount = 0 Then
Throw New Exception("Enter Item data item first")
End If
Dim obj = New ItemTransfers With {
.Modified = DateTime.Now,
.Invno = TextBox1.Text
}
itrservice.UpdateItemTransfers(obj)
For Each item As DataGridViewRow In DataGridView1.Rows
Dim detail = New ItemTransfersDetail With {
.CodeProduct = CStr(item.Cells(2).Value),
.Barcode = CStr(item.Cells(3).Value),
.Colorcode = CStr(item.Cells(4).Value),
.Size = CStr(item.Cells(5).Value),
.Qty = Convert.ToInt32(item.Cells(6).Value),
.Invno = TextBox1.Text,
.No = Convert.ToInt32(item.Cells(0).Value)
}
itrservice.UpdateItemTransfersdetail(detail)
Next item
MessageBox.Show("Record Updated Successfully")
End Sub