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

📄 modules.cls

📁 用vb编的一个软件项目开发系统
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Modules"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 Modid Int 模块编号
'2 Modname Varchar 50  模块名称
'3 ProjId  Int 项目编号
'4 Describe  Varchar 400 模块功能描述
'5 UpperId Int 上级模块编号
'6 Ename Varchar 50  负责开发工程师

Public Modid As Long
Public Modname As String
Public ProjId As Long
Public Describe As String
Public UpperId As Integer
Public Ename As String

Public Sub Init()
  Modid = 0
  Modname = ""
  ProjId = 0
  Describe = ""
  UpperId = 0
  Ename = ""
End Sub

'删除
Public Sub Delete(ByVal TmpId As Long)
  DB_Connect
  
  SqlStmt = "DELETE FROM Modules WHERE ModId=" + Trim(Str(TmpId))
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)

  DB_Disconnect
End Sub

Public Function GetId(ByVal TmpProjId As Long, _
                      ByVal TmpName As String) As Long
  DB_Connect
  
  SqlStmt = "SELECT Modid FROM Modules WHERE ModName='" _
          + Trim(TmpName) + "' And ProjId=" + Trim(TmpProjId)
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    GetId = Val(ColVal)
  Else
    GetId = 0
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Function

Public Sub GetInfo(ByVal TmpModId As Long)
  Modid = TmpModId
  If TmpModId <= 0 Then
    Init
    Exit Sub
  End If
  DB_Connect
  
  SqlStmt = "SELECT * FROM Modules WHERE Modid=" + Trim(TmpModId)
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
    Modname = TrimStr(ColVal)
    
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
    ProjId = Val(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
    Describe = TrimStr(ColVal)
    
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 5, 1, ColVal, Len(ColVal), pcblen)
    UpperId = Val(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 6, 1, ColVal, Len(ColVal), pcblen)
    Ename = TrimStr(ColVal)
  Else
    Init
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Sub

Public Function HaveSon(ByVal TmpUpperId As Long) As Boolean
  '连接数据库
  DB_Connect
  '设置SQL语句
  SqlStmt = "SELECT Modid FROM Modules WHERE UpperId=" _
          + Trim(Str(TmpUpperId))
  '执行SQL语句
  OdbcExt (SqlStmt)
  '如果结果集为空,则返回False;否则返回True
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    HaveSon = False
  Else
    HaveSon = True
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  '断开与数据库的连接
  DB_Disconnect
End Function

Public Function In_DB(ByVal TmpProjId As Long, _
                      ByVal TmpModule As String) As Boolean
  DB_Connect
  
  SqlStmt = "SELECT * FROM Modules WHERE ProjId=" + Trim(TmpProjId) _
          + " And Modname='" + Trim(TmpModule) + "'"
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    In_DB = False
  Else
    In_DB = True
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)

  DB_Disconnect
End Function

Public Sub Insert()
  DB_Connect
  
  SqlStmt = "INSERT INTO Modules VALUES('" + Trim(Modname) _
          + "'," + Trim(Str(ProjId)) + ",'" + Trim(Describe) _
          + "'," + Trim(UpperId) + ",'" + Trim(Ename) + "')"
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub

Public Sub Load_by_Upper(ByVal UpperId As Integer, _
                         ByVal TmpProjId As Long)
  Dim i As Long
  Erase Arr_Mod
  ReDim Arr_Mod(0)
  
  DB_Connect
  SqlStmt = "SELECT Modname FROM Modules WHERE UpperId=" _
          + Trim(UpperId) + " And ProjId=" + Trim(TmpProjId) _
          + " ORDER BY ModName"
  OdbcExt (SqlStmt)
  i = 0
  Do Until SQLFetch(Hstmt) = SQL_NO_DATA_FOUND
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    ReDim Preserve Arr_Mod(i + 1)
    Arr_Mod(i) = TrimStr(ColVal)
    
    i = i + 1
  Loop
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub

'更新数据
Public Sub Update(ByVal TmpModId As Long)
  DB_Connect
    
  SqlStmt = "UPDATE Modules SET Modname='" + Trim(Modname) _
          + "',Ename='" + Trim(Ename) + "',Describe='" _
          + Trim(Describe) + "' WHERE ModId=" _
          + Trim(Str(TmpModId))
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub


⌨️ 快捷键说明

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