📄 modules.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 + -