从“股票”类型到整数类型的转换在 vb.net 中无效

问题描述 投票:0回答:1

从“股票”类型到整数类型的转换在 vb.net 中无效。

实际上,下面的代码是我用来减少“Stocks”表的

我的代码有问题吗,请指导我。

代码实现可能有问题

谢谢

Private itrservice As New ItemtransfersService()
Private itrservicedetail As New ItemtransfersService()
Private sservice As New Stockservice()

 Private Sub BIBsave_Click(sender As Object, e As EventArgs) Handles BIBsave.Click
            Try
                If grid.RowCount = 0 Then
                    Throw New Exception("Enter Item data item first")
                End If
                Dim obj = New ItemTransfers With {
                    .Invno = BtxtInvoNo.Text,
                    .HeaderInvno = HeaderInvno,
                    .Created = DateTime.Now
                    }
                itrservice.InsertItemTransfers(obj)
                For i = 0 To _myTable.Rows.Count - 1
                    Dim detail = New ItemTransfersDetail With {
                        .No = Convert.ToInt32(_myTable.Rows(i)(0)),
                        .Invno = BtxtInvoNo.Text,
                        .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())
                        }
                    itrservicedetail.InsertItemTransfersdetail(detail)
                    Dim getstocks = New Stocks With {
                        .CodeProduct = _myTable.Rows(i)(1).ToString(),
                        .Barcode = _myTable.Rows(i)(2).ToString(),
                        .Colorcode = _myTable.Rows(i)(3).ToString(),
                        .Size = _myTable.Rows(i)(4).ToString()
                        }
                    Dim GetStock As Integer = sservice.GetStock2(getstocks)
                    Dim stocks = New Stocks With {
                        .QTY_STOCK = Convert.ToInt32((GetStock - detail.Qty)),
                        .CodeProduct = _myTable.Rows(i)(1).ToString(),
                        .Barcode = _myTable.Rows(i)(2).ToString(),
                        .Colorcode = _myTable.Rows(i)(3).ToString(),
                        .Size = _myTable.Rows(i)(4).ToString()
                        }
                    sservice.Updatestockminus(stocks)
                Next i
                'show success message

                MessageBox.Show("Transaction Item Transfer successfully added")
            Catch ex As Exception
                MessageBox.Show(ex.Message, "POS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            End Try
        End Sub
 Public Sub Updatestockminus(ByVal Obj As Stocks)
            Dim sql = $"UPDATE `Stocks` Set `QTY_STOCK`= {Obj.QTY_STOCK} WHERE `CodeProduct`='{Obj.CodeProduct}' and `BARCODE`='{Obj.Barcode}' and `COLORCODE`='{Obj.Colorcode}' and `SIZE`='{Obj.Size}';"
            Using _conn = New OleDbConnection(DbContext.GetOledbConnectionString())
                _conn.Execute(sql)
            End Using
        End Sub
        Public Function GetStock2(ByVal Obj As Stocks)
            Dim sql = $"SELECT QTY_STOCK FROM Stocks WHERE `CodeProduct`='{Obj.CodeProduct}' and `BARCODE`='{Obj.Barcode}' and `COLORCODE`='{Obj.Colorcode}' and `SIZE`='{Obj.Size}';"
            Using _conn = New OleDbConnection(DbContext.GetOledbConnectionString())
                Return _conn.Query(Of Stocks)(sql).FirstOrDefault()
            End Using
        End Function
sql list vb.net datatable dapper
1个回答
0
投票

终于找到解决问题的办法了

Private itrservice As New ItemtransfersService()
Private itrservicedetail As New ItemtransfersService()
Private sservice As New Stockservice()

 Private Sub BIBsave_Click(sender As Object, e As EventArgs) Handles BIBsave.Click
            Try
                If grid.RowCount = 0 Then
                    Throw New Exception("Enter Item data item first")
                End If
                Dim obj = New ItemTransfers With {
                    .Invno = BtxtInvoNo.Text,
                    .HeaderInvno = HeaderInvno,
                    .Created = DateTime.Now
                    }
                itrservice.InsertItemTransfers(obj)
                For i = 0 To _myTable.Rows.Count - 1
                    Dim detail = New ItemTransfersDetail With {
                        .No = Convert.ToInt32(_myTable.Rows(i)(0)),
                        .Invno = BtxtInvoNo.Text,
                        .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())
                        }
                    itrservicedetail.InsertItemTransfersdetail(detail)
                    Dim getstocks = New Stocks With {
                        .CodeProduct = _myTable.Rows(i)(1).ToString(),
                        .Barcode = _myTable.Rows(i)(2).ToString(),
                        .Colorcode = _myTable.Rows(i)(3).ToString(),
                        .Size = _myTable.Rows(i)(4).ToString()
                        }
                    Dim GetStock = sservice.GetStock2(getstocks)
                    Dim stocks = New Stocks With {
                        .QTY_STOCK = GetStock.QTY_STOCK - (detail.Qty),
                        .CodeProduct = _myTable.Rows(i)(1).ToString(),
                        .Barcode = _myTable.Rows(i)(2).ToString(),
                        .Colorcode = _myTable.Rows(i)(3).ToString(),
                        .Size = _myTable.Rows(i)(4).ToString()
                        }
                    sservice.Updatestockminus(stocks)
                Next i
                'show success message

                MessageBox.Show("Transaction Item Transfer successfully added")
            Catch ex As Exception
                MessageBox.Show(ex.Message, "POS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            End Try
        End Sub
 Public Sub Updatestockminus(ByVal Obj As Stocks)
            Dim sql = $"UPDATE `Stocks` Set `QTY_STOCK`= {Obj.QTY_STOCK} WHERE `CodeProduct`='{Obj.CodeProduct}' and `BARCODE`='{Obj.Barcode}' and `COLORCODE`='{Obj.Colorcode}' and `SIZE`='{Obj.Size}';"
            Using _conn = New OleDbConnection(DbContext.GetOledbConnectionString())
                _conn.Execute(sql)
            End Using
        End Sub
Public Function GetStock2(ByVal Obj As Stocks) As Stocks
            Dim sql = $"SELECT QTY_STOCK FROM Stocks WHERE `CodeProduct`='{Obj.CodeProduct}' and `BARCODE`='{Obj.Barcode}' and `COLORCODE`='{Obj.Colorcode}' and `SIZE`='{Obj.Size}';"
            Using _conn = New OleDbConnection(DbContext.GetOledbConnectionString())
                Return _conn.Query(Of Stocks)(sql).FirstOrDefault()
            End Using
        End Function
© www.soinside.com 2019 - 2024. All rights reserved.