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

📄 main_jcxx_tslbsz.frm

📁 是基于C#语言的一个图书综合管理系统的开发案例,相当实用
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      CacheSize       =   50
      MaxRecords      =   0
      BOFAction       =   0
      EOFAction       =   0
      ConnectStringType=   1
      Appearance      =   1
      BackColor       =   -2147483643
      ForeColor       =   -2147483640
      Orientation     =   0
      Enabled         =   -1
      Connect         =   ""
      OLEDBString     =   ""
      OLEDBFile       =   ""
      DataSourceName  =   ""
      OtherAttributes =   ""
      UserName        =   ""
      Password        =   ""
      RecordSource    =   ""
      Caption         =   "Adodc1"
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      _Version        =   393216
   End
End
Attribute VB_Name = "main_jcxx_tslbsz"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim i As Integer     '定义整型变量
Dim rs1 As New ADODB.Recordset     '定义数据集对象
Dim SQL As String   '定义字符串变量
Public Sub Tree_change()     '声明一个树状显示数据的过程
    On Error Resume Next
    Dim key, text As String
    rs1.Open "select * from tslbb order by 类别编号", Cnn, adOpenKeyset, adLockOptimistic
        If rs1.RecordCount > 0 Then
            With rs1
                .MoveFirst
                Do While .EOF = False
                    If Len(.Fields("类别编号")) = 2 Then
                        'Len 函数返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。
                        key = Trim(.Fields("类别名称"))
                        'Trim函数返回 Variant (String),其中包含指定字符串的拷贝, 没有前导和尾随空白。
                        text = "(" & Trim(.Fields("类别编号")) & ")" & Trim(.Fields("类别名称"))
                        Set Node1 = TreeView1.Nodes.Add(, , key, text, Val(.Fields("级别")))
                    End If
                    If Len(.Fields("类别编号")) = 5 Then
                        key = Trim(.Fields("类别名称"))
                        text = "(" & Trim(.Fields("类别编号")) & ")" & Trim(.Fields("类别名称"))
                        Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, key, text, Val(.Fields("级别")))
                    End If
                    If Len(.Fields("类别编号")) = 9 Then
                        key = Trim(.Fields("类别名称"))
                        text = "(" & Trim(.Fields("类别编号")) & ")" & Trim(.Fields("类别名称"))
                        Set Node3 = TreeView1.Nodes.Add(Node2.Index, tvwChild, key, text, Val(.Fields("级别")))
                    End If
                    If Len(.Fields("类别编号")) = 14 Then
                        key = Trim(.Fields("类别名称"))
                        text = "(" & Trim(.Fields("类别编号")) & ")" & Trim(.Fields("类别名称"))
                        Set Node4 = TreeView1.Nodes.Add(Node3.Index, tvwChild, key, text, Val(.Fields("级别")))
                    End If
                        If Len(.Fields("类别编号")) = 20 Then
                        key = Trim(.Fields("类别名称"))
                        text = "(" & Trim(.Fields("类别编号")) & ")" & Trim(.Fields("类别名称"))
                        Set Node5 = TreeView1.Nodes.Add(Node4.Index, tvwChild, key, text, Val(.Fields("级别")))
                    End If
                    .MoveNext
                    Loop
            End With
        End If
    rs1.Close
End Sub

Private Sub Cmdupdate_Click()  '修改
Text1(3).Enabled = True
Text1(3).SetFocus
Combo1.Enabled = False
CmdSave.Enabled = True   '保存按钮可用
CmdEsc.Enabled = True   '取消按钮可用
CmdAdd.Enabled = False  '添加按钮不可用
CmdDelete.Enabled = False  '删除按钮不可用
End Sub

Private Sub Form_Activate()
    '添加级别列表
    For i = 1 To 5
        Combo1.AddItem (i) & "级"
    Next i
    Combo1.ListIndex = 0
    '打开表
    rs1.Open "select * from tslbb order by 类别编号", Cnn, adOpenKeyset, adLockOptimistic
        If rs1.RecordCount > 0 Then
            For i = 1 To 3
                If rs1.Fields(i) <> "" Then Text1(i).text = rs1.Fields(i)     '将字段值赋给Text1控件数组
                Text1(i).Enabled = False
            Next i
            Combo1.text = rs1.Fields("级别")
        End If
    rs1.Close     '关闭表
    Call Tree_change     '调用显示数据过程
    CmdSave.Enabled = False
    CmdEsc.Enabled = False
    Cmdupdate.Enabled = True
End Sub

Private Sub Form_Load()
'自动识别路径
Adodc1.ConnectionString = "DSN=NBooks"
Adodc1.RecordSource = "select * from tslbb"
Adodc1.Refresh
End Sub

Private Sub Form_Unload(Cancel As Integer)
  frm_main.Enabled = True
End Sub

Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  '回车使控件获得焦点
  If KeyCode = vbKeyReturn And Index < 3 Then Text1(Index + 1).SetFocus
  If KeyCode = vbKeyReturn And Index = 3 Then CmdSave.SetFocus
  '按向上键使控件获得焦点
  If KeyCode = vbKeyUp And Index > 3 Then Text1(Index - 1).SetFocus
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
  '按类别名称查询,并按类别编号排序
  rs1.Open "select * from tslbb where 类别名称='" + TreeView1.SelectedItem.key + "'order by 类别编号", Cnn, adOpenKeyset, adLockOptimistic
  If rs1.RecordCount > 0 Then
   For i = 1 To 3
       Text1(i).text = rs1.Fields(i)     '将字段值赋给Text1控件数组
   Next i
   Combo1.text = rs1.Fields("级别")     '赋值给combo1.text
   Text2.text = rs1.Fields("类别编号")
  End If
  rs1.Close
End Sub

Private Sub CmdAdd_Click()     '添加操作
  Dim bh  As Integer     '定义一个整型变量
  Dim lsbh As String     '定义一个字符串变量
  '设置本级编号和类别编号
  rs1.Open "select * from tslbb where 级别='" + Combo1.text + "' order by 类别编号", Cnn, adOpenKeyset, adLockOptimistic
  If rs1.RecordCount > 0 Then
     If Not rs1.EOF Then rs1.MoveLast
     lsbh = rs1.Fields("类别编号")
     bh = Right(lsbh, Val(Combo1.text) + 1) + 1
     'Right 函数返回 Variant (String),其中包含从字符串右边取出的指定数量的字符。
     'Val 函数返回包含于字符串内的数字,字符串中是一个适当类型的数值。
     Text1(1).text = Format(bh, String(Val(Combo1.text) + 1, "0"))
     'Format 函数返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
     Text1(2).text = Left(lsbh, Len(lsbh) - Len(Text1(1).text)) & Text1(1).text
     'Left 函数返回 Variant (String),其中包含字符串中从左边算起指定数量的字符。
     'Len 函数返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。
  Else
     Text1(1).text = Format(1, String(Val(Combo1.text) + 1, "0"))
     Text1(2).text = Text1(2).text & Format(1, String(Val(Combo1.text) + 1, "0"))
  End If
  rs1.Close
  '设置控件有效或无效
  CmdSave.Enabled = True
  CmdEsc.Enabled = True
  CmdAdd.Enabled = False
  CmdDelete.Enabled = False
  Cmdupdate.Enabled = False
  Text1(3).Enabled = True
  Text1(3).text = ""     '清空Text1(3)
  Text1(3).SetFocus     'Text1(3)获得焦点
End Sub

Private Sub CmdDelete_Click()     '删除图书类别信息
    Dim rs2 As New ADODB.Recordset
    rs1.Open "select * from tslbb where 类别名称='" + Text1(3).text + "'order by 类别编号", Cnn
    rs2.Open "select * from tslbb where 类别编号  like '" + Text1(2).text + "'+'0%'  order by 类别编号 ", Cnn, adOpenKeyset, adLockOptimistic
    Dim con As New ADODB.Connection
    If rs2.RecordCount > 1 Then
        MsgBox "请先删除其子类,再删除该父类", , "图书综合管理系统"
    Else
        con.ConnectionString = Cnn
        With rs1
            If .RecordCount > 0 Then
                a = MsgBox("您确实要删除这条数据吗?", vbYesNo)
                If a = vbYes Then
                    con.Open
                    con.Execute "delete from tslbb where 类别名称='" + Text1(3).text + "'"
                    con.Close
                    Adodc1.RecordSource = "select * from tslbb order by 类别编号"
                    Adodc1.Refresh
                    If Adodc1.Recordset.RecordCount > 0 Then
                    For i = 1 To 3
                        Text1(i).text = Adodc1.Recordset.Fields(i)     '将字段值赋给Text1控件数组
                    Next i
                    Combo1.text = Adodc1.Recordset.Fields("级别")
                    End If
                    '设置按钮有效或无效
                    CmdSave.Enabled = False
                    CmdEsc.Enabled = False
                    CmdAdd.Enabled = True
                    CmdDelete.Enabled = True
                End If
            Else
                MsgBox ("没有要删除的数据!")
            End If
        End With
    End If
    rs1.Close
    rs2.Close
    TreeView1.Nodes.Clear      '清空TreeView中的数据
    Call Tree_change     '调用过程
End Sub

Private Sub CmdSave_Click()     '保存图书类别信息
    If Combo1.text = "" Then
        MsgBox "系统不允许【级别】为空!"
        Exit Sub
    End If
    If Text1(1).text = "" Then
        MsgBox "系统不允许【本级编号】为空!"
        Exit Sub
    End If
    If Text1(2).text = "" Then
        MsgBox "系统不允许【类别编号】为空!"
        Exit Sub
    End If
    If Text1(3).text = "" Then
        MsgBox "系统不允许【类别名称】为空!"
        Exit Sub
    End If

    Adodc2.RecordSource = "select * from tslbb where 类别编号='" + Text1(2).text + "'"
    Adodc2.Refresh
    If Adodc2.Recordset.RecordCount > 0 Then   '修改原有数据
        Cnn.Execute ("update tslbb set 类别名称='" + Text1(3).text + "' where 类别编号='" + Text1(2).text + "'")
    Else
        '添加图书类别信息
        Adodc2.Recordset.AddNew
        For i = 1 To 3
            Adodc2.Recordset.Fields(i) = Trim(Text1(i).text)
            Text1(i).Enabled = False
        Next i
        Adodc2.Recordset.Fields("级别") = Combo1.text
        Adodc2.Recordset.Update     '更新数据库
    End If
    Adodc2.Recordset.Close     '关闭数据集对象
    TreeView1.Nodes.Clear
    Call Tree_change     '调用函数
    '设置控件状态
    Cmdupdate.Enabled = True
    CmdSave.Enabled = False
    CmdEsc.Enabled = False
    CmdAdd.Enabled = True
    CmdDelete.Enabled = True
    Combo1.Enabled = True
End Sub
Private Sub CmdEsc_Click()     '取消操作
  '清空Text1控件数组
  For i = 1 To 3
      Text1(i).text = ""
  Next i
  '设置控件有效或无效
  Text1(3).Enabled = False
  CmdSave.Enabled = False
  CmdEsc.Enabled = False
  CmdAdd.Enabled = True
  CmdDelete.Enabled = True
  Cmdupdate.Enabled = True
  Combo1.Enabled = True
End Sub
Private Sub CmdExit_Click()  '退出
 frm_main.Enabled = True
 Unload Me
End Sub

⌨️ 快捷键说明

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