form1.vb
来自「是一个工资的管理系统 利用的是VB.NET和sql2000来完成的」· VB 代码 · 共 708 行 · 第 1/3 页
VB
708 行
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@姓名", System.Data.SqlDbType.VarChar, 16, "姓名"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@性别", System.Data.SqlDbType.VarChar, 4, "性别"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@基本工资", System.Data.SqlDbType.Float, 8, "基本工资"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@加班费", System.Data.SqlDbType.Float, 8, "加班费"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@奖金", System.Data.SqlDbType.Float, 8, "奖金"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@津贴", System.Data.SqlDbType.Float, 8, "津贴"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@备注", System.Data.SqlDbType.VarChar, 50, "备注"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_共号", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, False, CType(18, Byte), CType(0, Byte), "共号", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_加班费", System.Data.SqlDbType.Float, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "加班费", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_基本工资", System.Data.SqlDbType.Float, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "基本工资", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_备注", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "备注", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_奖金", System.Data.SqlDbType.Float, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "奖金", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_姓名", System.Data.SqlDbType.VarChar, 16, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "姓名", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_性别", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "性别", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_津贴", System.Data.SqlDbType.Float, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "津贴", System.Data.DataRowVersion.Original, Nothing))
'
'Panel1
'
Me.Panel1.Anchor = System.Windows.Forms.AnchorStyles.None
Me.Panel1.Controls.Add(Me.Label1)
Me.Panel1.Controls.Add(Me.Label2)
Me.Panel1.Controls.Add(Me.TextBox1)
Me.Panel1.Controls.Add(Me.TextBox2)
Me.Panel1.Controls.Add(Me.Label3)
Me.Panel1.Controls.Add(Me.TextBox3)
Me.Panel1.Controls.Add(Me.Label4)
Me.Panel1.Controls.Add(Me.TextBox4)
Me.Panel1.Controls.Add(Me.Label9)
Me.Panel1.Controls.Add(Me.TextBox9)
Me.Panel1.Controls.Add(Me.Label5)
Me.Panel1.Controls.Add(Me.Label6)
Me.Panel1.Controls.Add(Me.Label7)
Me.Panel1.Controls.Add(Me.Label8)
Me.Panel1.Controls.Add(Me.TextBox8)
Me.Panel1.Controls.Add(Me.TextBox7)
Me.Panel1.Controls.Add(Me.TextBox5)
Me.Panel1.Controls.Add(Me.TextBox6)
Me.Panel1.Controls.Add(Me.BtTop)
Me.Panel1.Controls.Add(Me.Btprev)
Me.Panel1.Controls.Add(Me.Label10)
Me.Panel1.Controls.Add(Me.BtUpdate)
Me.Panel1.Controls.Add(Me.BtView)
Me.Panel1.Controls.Add(Me.Btadd)
Me.Panel1.Controls.Add(Me.Btcanel)
Me.Panel1.Controls.Add(Me.Txtfind)
Me.Panel1.Controls.Add(Me.Btfind)
Me.Panel1.Controls.Add(Me.Txtlocation)
Me.Panel1.Controls.Add(Me.Btnext)
Me.Panel1.Controls.Add(Me.Btlast)
Me.Panel1.Controls.Add(Me.Btdelete)
Me.Panel1.Controls.Add(Me.BtExit)
Me.Panel1.Location = New System.Drawing.Point(0, 232)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(680, 208)
Me.Panel1.TabIndex = 33
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(688, 445)
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.DataGrid1)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "Form1"
Me.Text = "工资管理系统"
Me.TransparencyKey = System.Drawing.Color.FromArgb(CType(0, Byte), CType(192, Byte), CType(192, Byte))
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Ds1, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub TxtlocationChange()
Me.Txtlocation.Text = (((Me.BindingContext(Ds1, "工资表").Position + 1).ToString + "的") + Me.BindingContext(Ds1, "工资表").Count.ToString)
End Sub
Private Sub btenabled(ByVal bool As Boolean)
BtView.Enabled = bool
Btdelete.Enabled = bool
BtUpdate.Enabled = bool
Btprev.Enabled = bool
Btlast.Enabled = bool
Btnext.Enabled = bool
BtTop.Enabled = bool
Btfind.Enabled = bool ' 确定其他的控件不可用’
End Sub
Private Sub BtView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtView.Click
Try
SqlDataAdapter1.SelectCommand.CommandText = "select * from 工资表" '从工资表中查询’
Ds1.Clear() '防止前面的查询数据还在数据集中’
SqlDataAdapter1.Fill(Ds1) '将刚刚查询的数据放入数据集中,用.fill(数据集名称)’
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) 'select是选定一行,DataGrid1.CurrentRowIndex是选择当前的活动行’
Me.TxtlocationChange() '在txtlocationchange中显示活动行的位置’
Catch ex As Exception
MsgBox(ex.Message) '如果出错就提示出错的对话框’
'利用try catch ex as exception end try 意思是如果try 后面的出错就执行catch后面的’
End Try
End Sub
Private Sub Btadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btadd.Click
Try
If Btadd.Text = "添加" Then '如果点了添加按钮’
Me.BindingContext(Ds1, "工资表").AddNew() '就在工资表中添加一个新行’
Btadd.Text = "确定" '将他的text属性改为确定’
Me.btenabled(False) '将其他的属性改为不可用,利用前面定义的bool型’
Else
If Btadd.Text <> "确定" Then '当再次点击确定的时候退出’
Exit Sub
End If
Me.BindingContext(Ds1, "工资表").EndCurrentEdit() '将工资表中的数据返回数据集’
SqlDataAdapter1.Update(Ds1.工资表) '.update 是对数据集的更新’
MsgBox("添加成功!") '然后调用msgbox显示“添加成功”’
Btadd.Text = "添加" '在将btadd.text的内容改为添加’
Me.btenabled(True) '修改其它的控件按钮为可用’
Me.TxtlocationChange() '调用TxtlocationChange()显示当前活动的行’
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) '用反色显示当前的活动行’
End If
Catch ex As Exception
MsgBox(ex.Message) '出错就调用magbox进行显示’
End Try
End Sub
Private Sub Btdelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btdelete.Click
Try
If MsgBox("真的要删除此记录?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then '如果在调用的对话筐中点机的是yes就将当前行进行删除’
Ds1.工资表.Rows(Me.BindingContext(Ds1, "工资表").Position).Delete()
SqlDataAdapter1.Update(Ds1) '在删除过后对数据集进行更新
Me.TxtlocationChange() '调用TxtlocationChange()显示当前活动的行’
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) '用反色显示当前的活动行’
End If
Catch ex As Exception
MsgBox(ex.Message) '出错就调用magbox进行显示
End Try
End Sub
Private Sub BtUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtUpdate.Click
Try
Me.BindingContext(Ds1, "工资表").EndCurrentEdit() '将修改的数据返回数据集
If Ds1.HasChanges(DataRowState.Modified) Then '调用的.haschanges来判断是否对数据集进行了修改
SqlDataAdapter1.Update(Ds1) '如果修改了就对数据库进行更新
MsgBox("更新成功!") '调用msgbox显示更新成功’
End If
Catch
End Try
End Sub
Private Sub Btcanel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btcanel.Click
Me.BindingContext(Ds1.工资表).CancelCurrentEdit() '在添加未完成的时候取消添加
Btadd.Text = "添加" '将btadd的text 属性又改为 添加
Me.btenabled(True) '将其他的控件改为能用
End Sub
Private Sub BtExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtExit.Click
Application.Exit() '当点击的时候就退出
End Sub
Private Sub Btfind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btfind.Click
Try
If Trim(Txtfind.Text) = "" Then '判断txtfind.text是否为空,为空的话就退出不执行
Exit Sub
End If
SqlDataAdapter1.SelectCommand.CommandText = "select * from 工资表 where 共号 like '" & Txtfind.Text & "'" '设置查询的语句
Ds1.Clear() '将数据集清空
SqlDataAdapter1.Fill(Ds1) '将刚刚查询的数据填充到数据集中
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) '‘将当前活动行进行反色显示
Me.TxtlocationChange() '在TxtlocationChange()中显示当前的活动行
Catch
End Try
End Sub
Private Sub Btnext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnext.Click
If Me.BindingContext(Ds1, "工资表").Count = 0 Then '先判断工资表中是否有数据,无就退出
Exit Sub
End If
Dim i As Integer '设置 一个变量I
i = Me.BindingContext(Ds1.工资表).Count - 1 'I为总行数-1,由于在这里是从0开始的,取的总行数
If Me.BindingContext(Ds1.工资表).Position < i Then '确定是否是最后一行
Me.BindingContext(Ds1.工资表).Position += 1 '不是的话 在单击的时候就将当前行加1
Me.TxtlocationChange() '在TxtlocationChange()中显示当前的活动行
End If
DataGrid1.UnSelect(DataGrid1.CurrentRowIndex - 1) '将前一行取消反色显示
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) '将当前一行反色显示
End Sub
Private Sub Btlast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btlast.Click
If Me.BindingContext(Ds1.工资表).Count = 0 Then '首先判断表中是否有数据 无就不执行后面的
Exit Sub
End If
Me.DataGrid1.UnSelect(DataGrid1.CurrentRowIndex) '取消对当前行的反色显示
Me.BindingContext(Ds1.工资表).Position = Me.BindingContext(Ds1.工资表).Count - 1 '将当前行设置为数据集中工资表的最后一行
Me.TxtlocationChange() '调用TxtlocationChange()显示
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) '将当前行反色显示
Exit Sub
End Sub
Private Sub Btprev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btprev.Click
If Me.BindingContext(Ds1.工资表).Count = 0 Then '首先判断表中是否有数据 无就不执行后面的
Exit Sub
End If
If Me.BindingContext(Ds1, "工资表").Position > 0 Then '判断当前行是否是第一行
Me.BindingContext(Ds1.工资表).Position = (Me.BindingContext(Ds1.工资表).Position - 1) '将当前行进行修改
Me.TxtlocationChange() '对修改后的行在Txtlocation中显示
End If
DataGrid1.UnSelect(DataGrid1.CurrentRowIndex + 1) '对当前行的前一行取消反色显示
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex) '对当前行反色显示
End Sub
Private Sub BtTop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtTop.Click
If Me.BindingContext(Ds1.工资表).Count = 0 Then
Exit Sub
End If
Me.DataGrid1.UnSelect(DataGrid1.CurrentRowIndex)
Me.BindingContext(Ds1.工资表).Position = 0
Me.TxtlocationChange()
Me.DataGrid1.Select(DataGrid1.CurrentRowIndex)
End Sub
Private Sub DataGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseUp
Try
DataGrid1.Select(DataGrid1.CurrentRowIndex) '反色显示取得的当前行的
Me.TxtlocationChange()
Catch
If Err.Number = 9 Then
MsgBox("表中没有数据")
End If
End Try
End Sub
End Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?