在数据源窗体中把“货品编号”,“货品名称”,“规格”,“单位”拖入窗体
窗体下面会自动添加一些组件
打开数据集设计器
添加三个查询“DeleteQuery”,“FillByCondition”,“UpdateQuery”
DELETE FROM 货品信息
WHERE 货品编号 = @货品编号
SELECT 货品编号, 货品名称, 规格, 单位
FROM 货品信息
WHERE 货品编号=@货品编号 OR 货品名称=@货品名称
UPDATE 货品信息
SET 货品名称= @货品名称, 规格 = @规格, 单位 = @单位
WHERE 货品编号 = @货品编号
窗体代码
Imports System.Data.SqlClient
Imports 销售管理系统.xiaoshouxtDataSet
Public Class frmHuoPinInfo
Private Sub SetControlDisable()
GroupBox1.Enabled = False
End Sub
Private Sub SetControlEnable()
GroupBox1.Enabled = True
End Sub
Private Sub SetControlEmpty()
货品编号TextBox.Text = ""
货品名称TextBox.Text = ""
规格TextBox.Text = ""
单位TextBox.Text = ""
End Sub
Private Sub SetControlDebug()
货品编号TextBox.Text = "00001"
货品名称TextBox.Text = "显示器"
规格TextBox.Text = "21寸"
单位TextBox.Text = "台"
End Sub
Dim dt As 货品信息DataTable
Dim dv As DataView
Dim bmdata As CurrencyManager
Private Sub FillDataAndView()
dt = New 货品信息DataTable
货品信息TableAdapter.Fill(dt)
dv = New DataView(dt)
bmdata = Me.BindingContext(dv)
End Sub
Private Sub bindFields()
货品编号TextBox.DataBindings.Clear()
货品名称TextBox.DataBindings.Clear()
规格TextBox.DataBindings.Clear()
单位TextBox.DataBindings.Clear()
货品编号TextBox.DataBindings.Add("text", dv, "货品编号")
货品名称TextBox.DataBindings.Add("text", dv, "货品名称")
规格TextBox.DataBindings.Add("text", dv, "规格")
单位TextBox.DataBindings.Add("text", dv, "单位")
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim intIndex As Integer = e.RowIndex
Try
货品编号TextBox.Text = DataGridView1.Rows(intIndex).Cells(0).Value
货品名称TextBox.Text = DataGridView1.Rows(intIndex).Cells(1).Value
规格TextBox.Text = DataGridView1.Rows(intIndex).Cells(2).Value
单位TextBox.Text = DataGridView1.Rows(intIndex).Cells(3).Value
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub frmHuoPinInfo_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
Me.Close()
frmMain.Show()
End Sub
Private Sub frmHuoPinInfo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SetControlDisable()
FillDataAndView()
bindFields()
lblcounts.Text = dt.Rows.Count
DataGridView1.DataSource = dt
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
flag = "add"
SetControlEnable()
SetControlDebug()
End Sub
Private Sub btnModify_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModify.Click
flag = "modify"
SetControlEnable()
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
If flag = "add" Then
Try
货品编号TextBox.Text = CInt(BindingContext(dv).Current("货品编号").ToString) + 1
货品编号TextBox.Text = Format(CInt(货品编号TextBox.Text), "000000")
货品信息TableAdapter.Insert(货品编号TextBox.Text, 货品名称TextBox.Text, 规格TextBox.Text, 单位TextBox.Text)
Catch ex As Exception
MsgBox(ex.Message)
End Try
ElseIf flag = "modify" Then
货品信息TableAdapter.UpdateQuery(货品名称TextBox.Text, 规格TextBox.Text, 单位TextBox.Text, 货品编号TextBox.Text)
Else
Exit Sub
End If
SetControlDisable()
FillDataAndView()
bindFields()
lblcounts.Text = dt.Rows.Count
DataGridView1.DataSource = dt
End Sub
Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click
If MessageBox.Show("确定删除吗?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) = DialogResult.Yes Then
货品信息TableAdapter.DeleteQuery(货品编号TextBox.Text)
End If
FillDataAndView()
bindFields()
lblcounts.Text = dt.Rows.Count
DataGridView1.DataSource = dt
End Sub
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
dt = New 货品信息DataTable
货品信息TableAdapter.FillByCondition(dt, txtCondition.Text, txtCondition.Text)
DataGridView1.DataSource = dt
End Sub
Private Sub btnRef_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRef.Click
frmHuoPinInfo_Load(sender, e)
End Sub
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
frmHuoPinReport.Show()
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Me.Close()
frmMain.Show()
End Sub
End Class