📄 protype.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 = "ProType"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Public TypeId As Long
Public TypeName As String
Public UpperId As Long
Public Sub Init()
TypeId = -1
TypeName = ""
UpperId = -1
End Sub
'删除ProType
Public Sub Delete(ByVal TmpId As Long)
DB_Connect
SqlStmt = "DELETE FROM ProType WHERE TypeId=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Function GetId(ByVal TmpName As String) As Long
DB_Connect
SqlStmt = "SELECT TypeId FROM ProType WHERE TypeName='" _
+ Trim(TmpName) + "'"
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(TmpId As Long)
TypeId = TmpId
DB_Connect
SqlStmt = "SELECT * FROM ProType WHERE TypeId=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
TypeName = TrimStr(ColVal)
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
UpperId = Val(ColVal)
Else
Init
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Function GetName(ByVal TmpId As Long) As String
DB_Connect
SqlStmt = "SELECT TypeName FROM ProType WHERE TypeId=" _
+ Trim(Str(TmpId))
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
GetName = TrimStr(ColVal)
Else
GetName = ""
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function HaveSon(ByVal TmpUpperId As Long) As Boolean
'连接数据库
DB_Connect
'设置SQL语句,读取指定的产品类目编号
SqlStmt = "SELECT TypeId FROM ProType WHERE UpperId=" _
+ Trim(Str(TmpUpperId))
'执行SQL语句
OdbcExt (SqlStmt)
'如果结果集中有数据,则返回True;否则返回False
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 TypeName As String) As Boolean
DB_Connect
SqlStmt = "SELECT TypeId FROM ProType WHERE TypeName='" _
+ Trim(TypeName) + "'"
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 Function Insert() As Long
DB_Connect
SqlStmt = "INSERT INTO ProType (TypeName, UpperId) VALUES('" _
+ Trim(TypeName) + "'," + Trim(Str(UpperId)) + ")"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
Insert = TypeId
End Function
Public Sub Load_by_Upper(ByVal UpperId As Integer)
Dim i As Long
Erase Arr_ProType
ReDim Arr_ProType(0)
DB_Connect
SqlStmt = "SELECT TypeName FROM ProType WHERE UpperId=" _
+ Trim(Str(UpperId)) + " ORDER BY TypeName"
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_ProType(i + 1)
Arr_ProType(i) = TrimStr(ColVal)
i = i + 1
Loop
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
'更新数据
Public Sub Update(ByVal TmpId As Long)
DB_Connect
SqlStmt = "UPDATE ProType SET TypeName='" + Trim(TypeName) _
+ "' WHERE TypeId=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -