直接通过ODBCAPI访问SQL数据库

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  <!--StartFragment-->*********************************
  ODBC - Open DataBase Connectivity
  *********************************
  Basic Steps
  Connecting to the SQL Server DataBase for retrieving information from tables
  *************************************************************
  The steps 1 - 3 are for connecting to the SQL Server Database
  *************************************************************
  1. Allocate ODBC Environment Handle
  If SQLAllocEnv(glEnv) <> 0 Then
  MsgBox "Unable to initialize ODBC API drivers!"
  End
  End If
  ______________________________________________________________
  2. Allocate ODBC Database Handle
  Dim iStatus As Integer
  If SQLAllocConnect(glEnv, glDbc) <> 0 Then
  MsgBox "Could not allocate memory for connection Handle!"
  ODBCInit = False
  ' Free the Environment
  iStatus = SQLFreeEnv(lEnv)
  If iStatus = SQL_ERROR Then
  MsgBox "Error Freeing Environment From ODBC Drivers"
  End If
  ' Quit the Application
  End
  End If
  ______________________________________________________________
  3. Connect using the sConnect string - SQLDriverConnect
  Dim sResult As String
  Dim iSize As Integer
  Dim sConnect As String
  sConnect = "DSN=" & gsDSN & ";UID=" & gsLoginID & ";PWD=" & gsPassword & ";APP=" & gsAppCode & ";DATABASE=" & gsDatabase
  If SQLDriverConnect(glDbc, Screen.ActiveForm.hWnd, sConnect, Len(sConnect), sResult, Len(sResult), iSize, 0) <= 0 Then
  MsgBox "Could not establish connection to ODBC driver!"
  End If
  ______________________________________________________________
  ***************************************************
  The steps 4 - 8 are for retrieving data from tables
  ***************************************************
  4. Allocate ODBC Statement Handle
  If SQLAllocStmt(glDbc, glStmt) <> 0 Then
  MsgBox "Could not allocate memory for a statement handle!"
  End If
  ______________________________________________________________
  5. Execute ODBC Statement - SQLExecDirect
  Dim lRet As Long, lErrNo As Long
  Dim iLen As Integer
  Dim sSQLState As String * MAX_DATA_BUFFER
  Dim sErrorMsg As String * MAX_DATA_BUFFER
  Dim sMsg As String
  sSQL = "SELECT name, location FROM authors"
  If SQLExecDirect(glStmt, sSQL, Len(sSQL)) <> SQL_SUCCESS Then
  ' Also Check for ODBC Error message - SQLError
  lRet = SQLError(glEnv, gldbc, glStmt, sSQLState, lErrNo, sErrorMsg, MAX_DATA_BUFFER, iLen)
  sMsg = "Error Executing SQL Statement" & Chr$(13) & Chr$(10)
  sMsg = sMsg & "ODBC State = " & Trim$(Left$(sSQLState, InStr(sSQLState, Chr$(0)) - 1)) & Chr$(13) & Chr$(10)
  sMsg = sMsg & "ODBC Error Message = " & Left$(sErrorMsg, iLen)
  MsgBox sMsg, vbInformation, "Execute Query"
  End If

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答