⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 goodsform.vb

📁 vb.net+sql进销存管理系统
💻 VB
📖 第 1 页 / 共 2 页
字号:
        Me.Label3.Size = New System.Drawing.Size(56, 23)
        Me.Label3.TabIndex = 2
        Me.Label3.Text = "厂商"
        Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(72, 16)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(56, 23)
        Me.Label2.TabIndex = 1
        Me.Label2.Text = "商品类别"
        Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(8, 16)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(56, 23)
        Me.Label1.TabIndex = 0
        Me.Label1.Text = "商品名称"
        Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
        '
        'GroupBox2
        '
        Me.GroupBox2.Controls.Add(Me.rbMod)
        Me.GroupBox2.Controls.Add(Me.rbAdd)
        Me.GroupBox2.Location = New System.Drawing.Point(168, 60)
        Me.GroupBox2.Name = "GroupBox2"
        Me.GroupBox2.Size = New System.Drawing.Size(136, 35)
        Me.GroupBox2.TabIndex = 16
        Me.GroupBox2.TabStop = False
        '
        'rbMod
        '
        Me.rbMod.Location = New System.Drawing.Point(72, 8)
        Me.rbMod.Name = "rbMod"
        Me.rbMod.Size = New System.Drawing.Size(48, 24)
        Me.rbMod.TabIndex = 1
        Me.rbMod.Text = "修改"
        '
        'rbAdd
        '
        Me.rbAdd.Checked = True
        Me.rbAdd.Location = New System.Drawing.Point(8, 8)
        Me.rbAdd.Name = "rbAdd"
        Me.rbAdd.Size = New System.Drawing.Size(48, 24)
        Me.rbAdd.TabIndex = 0
        Me.rbAdd.TabStop = True
        Me.rbAdd.Text = "增加"
        '
        'GoodsForm
        '
        Me.AcceptButton = Me.btOK
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.CancelButton = Me.btCancel
        Me.ClientSize = New System.Drawing.Size(592, 371)
        Me.Controls.Add(Me.GroupBox1)
        Me.Controls.Add(Me.dgGoods)
        Me.MaximizeBox = False
        Me.Name = "GoodsForm"
        Me.Text = "商品管理"
        CType(Me.dgGoods, System.ComponentModel.ISupportInitialize).EndInit()
        Me.GroupBox1.ResumeLayout(False)
        Me.GroupBox2.ResumeLayout(False)
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub GoodsForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.BindDg()

        Dim dt_Fac As DataTable = Sample02.GetDataTable("SELECT FACTORYNAME FROM FACTORY ORDER BY FACTORYNAME")
        Dim dt_Sort As DataTable = Sample02.GetDataTable("SELECT SORTNAME FROM SORT ORDER BY SORTNAME")

        For Each dr As DataRow In dt_Fac.Rows
            Me.cbFac.Items.Add(dr(0))
        Next

        For Each dr As DataRow In dt_Sort.Rows
            Me.cbSort.Items.Add(dr(0))
        Next

        Me.cbFac.Text = String.Empty
        Me.cbSort.Text = String.Empty

    End Sub

    Private Sub eItemMod_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles eItemMod.Click

        Try

            Dim Row As Int16 = Me.dgGoods.CurrentCell.RowNumber

            Dim Price_New As String = Me.dgGoods.Item(Row, 5)
            Dim Price As String = Price_New.Substring(0, Price_New.LastIndexOf("."c) + 3)
            Dim Currency As String = Price_New.Substring(Price_New.LastIndexOf("."c) + 3)

            Me.lbNo.Text = Me.dgGoods.Item(Row, 0)
            Me.tbName.Text = Me.dgGoods.Item(Row, 1)
            Me.cbSort.Text = Me.dgGoods.Item(Row, 2)
            Me.cbFac.Text = Me.dgGoods.Item(Row, 3)
            Me.tbType.Text = Me.dgGoods.Item(Row, 4)
            Me.tbPrice.Text = Price
            Me.cbCurrency.Text = Currency
            If Me.dgGoods.Item(Row, 6) Is System.DBNull.Value Then
                Me.tbRemark.Text = String.Empty
            Else
                Me.tbRemark.Text = Me.dgGoods.Item(Row, 6)
            End If

            Me.rbMod.Checked = True

        Catch ex As Exception

            Sample02.WriteErr(ex)

        End Try

    End Sub

    Private Sub btOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btOK.Click

        Dim no As String = Me.lbNo.Text.Trim()
        Dim Name As String = Me.tbName.Text.Trim()
        Dim Sort As String = Me.GetSortNo(Me.cbSort.Text.Trim()).Trim()
        Dim Fac As String = Me.GetFacNo(Me.cbFac.Text.Trim()).Trim()
        Dim Type As String = Me.tbType.Text.Trim()
        Dim Price As String = Me.tbPrice.Text.Trim()
        Dim Currency As String = Me.cbCurrency.Text.Trim()
        Dim Remark As String = Me.tbRemark.Text.Trim()
        Dim mNo As Int16 = Me.GetMaxSortNo()

        If Me.rbMod.Checked And no = String.Empty Then
            MessageBox.Show("请选择一行进行修改")
            Return
        End If

        If Name = String.Empty Then
            MessageBox.Show("商品名称不能为空")
            Me.tbName.Focus()
            Return
        End If

        If Sort = String.Empty Then
            MessageBox.Show("商品类别不能为空")
            Me.cbSort.Focus()
            Return
        End If

        If Fac = String.Empty Then
            MessageBox.Show("厂商不能为空")
            Me.cbFac.Focus()
            Return
        End If

        If Type = String.Empty Then
            MessageBox.Show("型号不能为空")
            Me.tbType.Focus()
            Return
        End If

        If Price = String.Empty Then
            MessageBox.Show("价格不能为空")
            Me.tbPrice.Focus()
            Return
        End If

        Try
            Decimal.Parse(Price)
        Catch
            MessageBox.Show("价格格式不对")
            Return
        End Try

        If Currency = String.Empty Then
            MessageBox.Show("货币不能为空")
            Me.cbCurrency.Focus()
            Return
        End If

        Currency = Me.GetCurrencyNo(Currency.Trim())

        Dim Sql_Add As String = "INSERT INTO CATEGORY (CATEGORYNAME, SORT, FACTORY, TYPE, PRICE, CURRENCY, REMARK) VALUES('" + Name + "'," + Sort + "," + Fac + ",'" + Type + "'," + Price + "," + Currency + ",'" + Remark + "')"
        Dim Sql_Mod As String = "UPDATE CATEGORY SET CATEGORYNAME = '" + Name + "', SORT=" + Sort + ", FACTORY=" + Fac + ", TYPE='" + Type + "', PRICE=" + Price + ", CURRENCY=" + Currency + ", REMARK='" + Remark + "' WHERE CATEGORYNO = '" + no + "'"

        Dim SqlCmd As New SqlCommand
        SqlCmd.Connection = Sample02.SqlCon

        Try
            Sample02.SqlCon.Open()

            If Me.rbAdd.Checked Then
                SqlCmd.CommandText = Sql_Add
            Else
                SqlCmd.CommandText = Sql_Mod
            End If

            SqlCmd.ExecuteNonQuery()

            If Me.rbAdd.Checked And mNo <> -1 Then
                SqlCmd.CommandText = "INSERT INTO STORE (CATEGORYNO) VALUES(" + mNo.ToString().Trim() + ")"
                SqlCmd.ExecuteNonQuery()
            End If

            MessageBox.Show(Me.btOK.Text.Trim() + "成功")

            Me.BindDg()
            Me.SetDefault()

        Catch ex As Exception
            Sample02.WriteErr(ex)
            MessageBox.Show(Me.btOK.Text.Trim() + "失败")
        Finally
            Sample02.SqlCon.Close()
        End Try
    End Sub

    Private Sub btBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btBack.Click
        Me.SetDefault()
    End Sub

    Private Sub btCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btCancel.Click
        Me.Close()
    End Sub

    Private Sub rbAdd_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbAdd.CheckedChanged
        If rbAdd.Checked Then
            Me.lbNo.Text = String.Empty
            Me.btOK.Text = "增加"
        Else
            Me.btOK.Text = "更新"
        End If
    End Sub

    Private Sub rbMod_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbMod.CheckedChanged
        If rbAdd.Checked Then
            Me.lbNo.Text = String.Empty
            Me.btOK.Text = "增加"
        Else
            Me.btOK.Text = "更新"
        End If
    End Sub

    Private Sub BindDg()

        Dim dtNew As DataTable
        Dim SqlAda As New SqlDataAdapter
        Dim SqlCmd As New SqlCommand("SELECT * FROM GOODSVIEW", Sample02.SqlCon)

        Dim ds As New DataSet

        Try
            SqlAda.SelectCommand = SqlCmd
            ds.Clear()
            SqlAda.Fill(ds)

            Me.dgGoods.TableStyles(0).MappingName = ds.Tables(0).TableName.Trim()
            Me.dgGoods.DataSource = ds.Tables(0)
            Me.dgGoods.CurrentCell = New DataGridCell(0, 1)

        Catch ex As Exception
            Sample02.WriteErr(ex)
        End Try

    End Sub

    Private Sub SetDefault()
        Me.lbNo.Text = String.Empty
        Me.rbAdd.Checked = True
        Me.tbName.Text = String.Empty
        Me.cbSort.Text = String.Empty
        Me.cbFac.Text = String.Empty
        Me.tbPrice.Text = String.Empty
        Me.cbCurrency.Text = String.Empty
        Me.tbRemark.Text = String.Empty
    End Sub

    Private Function GetSortNo(ByVal SortName As String) As String

        Dim no As String = String.Empty

        Try

            Dim sql As String = "SELECT SORTNO FROM SORT WHERE SORTNAME = '" + SortName.Trim() + "'"
            Dim dt As DataTable = Sample02.GetDataTable(sql)

            If dt.Rows.Count <> 0 Then
                no = dt.Rows(0)(0).ToString().Trim()
            End If
        Catch ex As Exception
            Sample02.WriteErr(ex)
            no = String.Empty
        End Try

        Return no

    End Function

    Private Function GetFacNo(ByVal FactoryName As String) As String

        Dim no As String = String.Empty

        Try

            Dim sql As String = "SELECT FACTORYNO FROM FACTORY WHERE FACTORYNAME = '" + FactoryName.Trim() + "'"
            Dim dt As DataTable = Sample02.GetDataTable(sql)

            If dt.Rows.Count <> 0 Then
                no = dt.Rows(0)(0).ToString().Trim()
            End If
        Catch ex As Exception
            Sample02.WriteErr(ex)
            no = String.Empty
        End Try

        Return no

    End Function

    Private Function GetCurrencyNo(ByVal Currency As String) As String
        Dim c As String = Currency.Trim()
        Select Case c
            Case "人民币"
                Return "0"
            Case "美元"
                Return "1"
            Case "欧元"
                Return "2"
        End Select
    End Function

    Private Function GetMaxSortNo() As Int16
        Dim mNo As Int16 = -1

        Dim sql As String = "SELECT MAX(SORTNO) FROM SORT"
        Dim SqlCmd As New SqlCommand(sql, Sample02.SqlCon)

        Try
            Sample02.SqlCon.Open()

            If Not (SqlCmd.ExecuteScalar() Is System.DBNull.Value) Then
                mNo = Convert.ToInt16(SqlCmd.ExecuteScalar())
            End If

        Catch ex As Exception
            Sample02.WriteErr(ex)
        Finally
            Sample02.SqlCon.Close()
        End Try

        Return mNo

    End Function
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -