📄 form3.vb
字号:
Me.Button4.TabIndex = 8
Me.Button4.Text = "取消"
'
'Button5
'
Me.Button5.Location = New System.Drawing.Point(96, 304)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(72, 24)
Me.Button5.TabIndex = 9
Me.Button5.Text = "关闭"
'
'Form3
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(482, 351)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button5, Me.Button4, Me.Button3, Me.Button2, Me.Button1, Me.Label2, Me.Label1, Me.TextBox2, Me.TextBox1, Me.DataGrid1})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Name = "Form3"
Me.Text = "收入项目"
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Income1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'填充DataSet
income.Fill(Income1)
'设置按钮使得添加、删除、修改有效
dobutton(1, 1, 1, 0)
'设置两个Textbox无效
TextBox1.Enabled = False
TextBox2.Enabled = False
End Sub
'当DataGrid当前单元格变化的时候响应事件
Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
'设置4个功能按键
dobutton(1, 1, 1, 0)
'Textbox1显示的是匹配码
TextBox1.Text = DataGrid1.Item(DataGrid1.CurrentCell.RowNumber, 0)
'Textbox2显示的是项目名称
TextBox2.Text = DataGrid1.Item(DataGrid1.CurrentCell.RowNumber, 1)
'设置两个文本框为无效
TextBox1.Enabled = False
TextBox2.Enabled = False
End Sub
'设置dobutton函数
'a,b,c,d分别代表了添加、删除、修改和取消几个按键的Enable值
Private Function dobutton(ByVal a, ByVal b, ByVal c, ByVal d)
'首先将四个按钮均置为False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
'判断a,b,c,d的值,1则为按钮有效,0为按钮无效
If a = 1 Then Button1.Enabled = True
If b = 1 Then Button2.Enabled = True
If c = 1 Then Button3.Enabled = True
If d = 1 Then Button4.Enabled = True
End Function
'响应添加的事件
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'状态加1
n = n + 1
'如果n=1,则表示现在是输入状态
If n = 1 Then
'打开Textbox接受用户数据
TextBox1.Enabled = True
TextBox2.Enabled = True
'清空Textbox中间的内容
TextBox1.Text = ""
TextBox2.Text = ""
'设置按键
dobutton(1, 0, 0, 1)
End If
'如果n=2,则表示现在是更新数据库的操作
If n = 2 And TextBox1.Text <> "" And TextBox2.Text <> "" Then '对输入的数据进行判断和校验
'生成SQL语句
nsql = "INSERT INTO income VALUES(" + Chr(39) + CStr(TextBox2.Text) + Chr(39) + "," + Chr(39) + CStr(TextBox1.Text) + Chr(39) + ")"
'打开数据库
OleDbConnection1.Open()
'指定SQL语句对应的连接
ncommand.Connection = OleDbConnection1
'指定SQL语句
ncommand.CommandText() = nsql
'执行SQL语句,更新数据库
ncommand.ExecuteNonQuery()
'更新Income1 DataSet数据集
Income1.Clear()
income.Fill(Income1)
'关闭数据库连接
OleDbConnection1.Close()
'设置两个Textbox不可用
TextBox1.Enabled = False
TextBox2.Enabled = False
'设置按钮
dobutton(1, 1, 1, 0)
End If
'如果n=2表示状态标志结束,置0
If n = 2 Then n = 0
End Sub
'响应取消的事件
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'设置按钮,恢复原来设定
dobutton(1, 1, 1, 0)
'置状态为0
n = 0
'使得Textbox无效
TextBox1.Enabled = False
TextBox2.Enabled = False
End Sub
'响应删除的事件
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'生成SQL语句
nsql = "DELETE FROM income WHERE 匹配码=" + Chr(39) + CStr(TextBox1.Text) + Chr(39) + " and 项目名称=" + Chr(39) + CStr(TextBox2.Text) + Chr(39)
'打开数据库
OleDbConnection1.Open()
'指定SQL语句对应的连接
ncommand.Connection = OleDbConnection1
'指定SQL语句
ncommand.CommandText() = nsql
'执行SQL语句,更新数据库
ncommand.ExecuteNonQuery()
'更新Income1 DataSet数据集
Income1.Clear()
income.Fill(Income1)
'关闭数据库连接
OleDbConnection1.Close()
End Sub
'响应关闭的事件
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
'关闭对话框
Me.Close()
End Sub
'响应更新的事件
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'状态加1
n = n + 1
'如果n=1,则表示现在是输入状态
If n = 1 Then
'备份原来数据库中的数据
bak1 = TextBox1.Text
bak2 = TextBox2.Text
'打开Textbox接受用户数据
TextBox1.Enabled = True
TextBox2.Enabled = True
'设置按钮
dobutton(0, 0, 1, 1)
End If
'如果n=2,则表示现在是更新数据库的操作
If n = 2 And TextBox1.Text <> "" And TextBox2.Text <> "" Then '对输入的数据进行判断和校验
'生成SQL语句
nsql = "UPDATE income SET 匹配码=" + Chr(39) + CStr(TextBox1.Text) + Chr(39) + " , 项目名称=" + Chr(39) + CStr(TextBox2.Text) + Chr(39) + " WHERE 匹配码=" + Chr(39) + bak1 + Chr(39) + " and 项目名称=" + Chr(39) + bak2 + Chr(39)
'打开数据库
OleDbConnection1.Open()
'指定SQL语句对应的连接
ncommand.Connection = OleDbConnection1
'指定SQL语句
ncommand.CommandText() = nsql
'执行SQL语句,更新数据库
ncommand.ExecuteNonQuery()
'更新Income1 DataSet数据集
Income1.Clear()
income.Fill(Income1)
'关闭数据库连接
OleDbConnection1.Close()
'设置两个Textbox不可用,设置按钮
TextBox1.Enabled = False
TextBox2.Enabled = False
dobutton(1, 1, 1, 0)
End If
'如果n=2表示状态标志结束,置0
If n = 2 Then n = 0
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -