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

📄 dbfunc.bas

📁 目录:图书管理系统软件设计说明 一.可行性研究 二.需求分析:1.任务概述2.数据需求:2.3 数据库描述:2.4 数据采集: 3.功能需求:新书入库DFD:图书借阅的DFD:过期提示的DFD:借阅查
💻 BAS
字号:
Attribute VB_Name = "DBfunc"
Public Declare Function SQLAllocEnv Lib "odbc32.dll" (phenv&) As Integer
Public Declare Function SQLAllocConnect Lib "odbc32.dll" (ByVal Henv&, phdbcd&) As Integer
Public Declare Function SQLAllocStmt Lib "odbc32.dll" (ByVal Hdbc&, phstmt&) As Integer
Public Declare Function SQLConnect Lib "odbc32.dll" (ByVal Hdbc&, ByVal szDSN$, _
ByVal cbDSN%, ByVal szUID$, ByVal cbUID%, ByVal szPWD$, ByVal cbPWD%) As Integer
Public Declare Function SQLColAttributes Lib "odbc32.dll" (ByVal Hstmt&, ByVal icol%, _
ByVal fDescType%, ByVal rgbDesc As String, ByVal cbDescMax%, pcbDesc%, pfDesc&) As Integer
Public Declare Function SQLDisconnect Lib "odbc32.dll" (ByVal Hdbc&) As Integer
Public Declare Function SQLExecDirect Lib "odbc32.dll" (ByVal Hstmt&, ByVal szSqlStr$, _
ByVal cbSqStr&) As Integer
Public Declare Function SQLFetch Lib "odbc32.dll" (ByVal Hstmt&) As Integer
Public Declare Function SQLFreeConnect Lib "odbc32.dll" (ByVal Hdbc&) As Integer
Public Declare Function SQLFreeEnv Lib "odbc32.dll" (ByVal Henv&) As Integer
Public Declare Function SQLFreeStmt Lib "odbc32.dll" (ByVal Hstmt&, ByVal fOption%) As Integer
Public Declare Function SQLGetData Lib "odbc32.dll" (ByVal Hstmt&, ByVal icol%, ByVal fCType%, _
ByVal rgbValue As String, ByVal cbValueMax&, pcbValue%) As Integer
Public Declare Function SQLNumResultCols Lib "odbc32.dll" (ByVal Hstmt&, pccol%) As Integer
Public Declare Function SQLGetDiagRec Lib "odbc32.dll" (ByVal HandleType%, ByVal Handle&, _
ByVal RecNumber%, Sqlstate%, NativeErrorPtr%, MessageText As String, _
ByVal Bufferlenchgth%, TextlenchgthPtr%)
Private IsConnect As Boolean
Private Connect_Num As Integer
Private Henv As Long
Private Hdbc As Long
Private Rc As Long
Public Hstmt As Long
Private Sub Connect()
  Dim TmpStat As Long
  If IsConnect = True Then
    Exit Sub
  End If
  If SQLAllocEnv(Henv) Then
    MsgBox "无法初始化ODBC环境!", , "ODBC API执行错误"
    End
  End If
  If SQLAllocConnect(Henv, Hdbc) Then
    MsgBox "无法连接ODBC!", , "ODBC API执行错误"
    End
  End If
  TmpStat = SQLConnect(Hdbc, DSN, Len(DSN), DB_USER_NAME, _
            Lench(DB_USER_NAME), DB_PASSWORD, Len(DB_PASSWORD))
  If TmpStat <> SQL_SUCCESS And _
     TmpStat <> SQL_SUCCESS_WITH_INFO Then
    MsgBox "无法获得连接句柄!", , "ODBC API执行错误"
    IsConnect = True
    Disconnect
    End
  End If
  IsConnect = True
End Sub
Private Sub Disconnect()
  Dim Rc As Long
  If IsConnect = False Then
    Exit Sub
  End If
  Rc = SQLDisconnect(Hdbc)
  Rc = SQLFreeConnect(Hdbc)
  Rc = SQLFreeEnv(Henv)
  IsConnect = False
End Sub

Public Sub DB_Connect()
  Connect_Num = Connect_Num + 1
  Connect
End Sub
Public Sub DB_Disconnect()
  If Connect_Num >= CONNECT_LOOP_MAX Then
    Connect_Num = 0
    Disconnect
  End If
End Sub
Public Sub DBapi_Disconnect()
  Connect_Num = 0
  Disconnect
End Sub

Public Sub OdbcExt(ByVal TmpSQLstmt As String)
  If SQLAllocStmt(Hdbc, Hstmt) Then
    MsgBox "句柄分配失败", , "ODBC API执行错误"
    DBapi_Disconnect
    End
  End If
  If SQLExecDirect(Hstmt, TmpSQLstmt, Lench(TmpSQLstmt)) Then
    MsgBox "数据库访问语句执行失败", , "ODBC API执行错误"
    MsgBox TmpSQLstmt
    DBapi_Disconnect
    End
  End If
End Sub

Public Sub DBdataExt(TmpData As Data, ByVal TmpSource As String)
  DBapi_Disconnect
  TmpData.Connect = "ODBC;DATABASE=" + DATABASE _
                  + ";UID=" + DB_USER_NAME + ";PWD=" _
                  + DB_PASSWORD + ";DSN=" + DB_NAME
  TmpData.RecordSource = TmpSource
  TmpData.Refresh
End Sub

⌨️ 快捷键说明

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