📄 building.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 = "Building"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 BuildingId Smallint 编号(由系统自动为每个楼房生成一个编号)
'2 BuildingNo Varchar2 20 楼房编号(小区内每栋住宅建筑的编号)
'3 FloorNum Smallint 楼房层数
'4 Memo Varchar2 600 备注信息
Public BuildingId As Integer
Public BuildingNo As String
Public FloorNum As Integer
Public Memo As String
Public Sub Init()
BuildingId = 0
BuildingNo = ""
FloorNum = -1
Memo = ""
End Sub
'删除
Public Sub Delete(ByVal TmpId As Integer)
DB_Connect
SqlStmt = "DELETE FROM Building WHERE BuildingId=" + Trim(TmpId)
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Function GetId(ByVal TmpNo As String) As Integer
DB_Connect
SqlStmt = "SELECT BuildingId FROM Building WHERE BuildingNo='" _
+ Trim(TmpNo) + "'"
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 TmpId As Integer)
BuildingId = TmpId
If TmpId = 0 Then
Init
Exit Sub
End If
DB_Connect
SqlStmt = "SELECT * FROM Building WHERE BuildingId=" + Trim(TmpId)
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
BuildingNo = TrimStr(ColVal)
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
FloorNum = Val(ColVal)
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
Memo = TrimStr(ColVal)
Else
Init
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Function GetName(ByVal TmpId As Integer) As String
DB_Connect
SqlStmt = "SELECT BuildingNo FROM Building WHERE BuildingId=" + Trim(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 In_DB(ByVal TmpBuildingNo As String) As Boolean
'连接数据库
DB_Connect
'设置SQL语句,读取指定楼房号对应的记录编号
SqlStmt = "SELECT BuildingId FROM Building WHERE BuildingNo='" _
+ Trim(TmpBuildingNo) + "'"
'执行SQL语句
OdbcExt (SqlStmt)
'从结果集中读取数据,如果有数据,则IN_DB = True;否则In_DB = False
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
In_DB = True
Else
In_DB = False
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
'断开与数据库的连接
DB_Disconnect
End Function
Public Sub Insert()
DB_Connect
SqlStmt = "INSERT INTO Building (Buildingid,BuildingNo, FloorNum," _
+ " Memo)" + " VALUES(BUILDINGID.NEXTVAL,'" + Trim(BuildingNo) _
+ "'," + Trim(Str(FloorNum)) + ",'" + Trim(Memo) + "')"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
Public Sub Load_Building()
Erase Arr_Building
ReDim Arr_Building(0)
DB_Connect
SqlStmt = "SELECT BuildingNo FROM Building ORDER BY BuildingNo"
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_Building(i + 1)
Arr_Building(i) = TrimStr(ColVal)
i = i + 1
Loop
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
'更新地域数据
Public Sub Update(ByVal TmpId As Integer)
DB_Connect
SqlStmt = "UPDATE Building SET BuildingNo='" + Trim(BuildingNo) _
+ "', FloorNum=" + Trim(FloorNum) + ",Memo='" + Trim(Memo) _
+ "' WHERE BuildingId=" + Trim(Str(TmpId))
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -