📄 goodsform.vb
字号:
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 + -