1. 程式人生 > >executssql 函數的每一句代碼的意思

executssql 函數的每一句代碼的意思

通過 刪除 sum records 保存 _exit 數據 amp nbsp

  1. Public Function Executesql(ByVal sql As String, Msgstring As String) As ADODB.Recordset
  2. Dim cnn As ADODB.Connection ‘定義cnn 為數據庫的連接形式,配合cnnectstring() 函數連接並打開數據庫 cnnectstring的函數下面會有介紹
  3. Dim rst As ADODB.Recordset ‘定義一個臨時列表,存放從數據庫中取出的數據
  4. Dim sTokens() As String ‘定義一個數組,將sql語句按數組的形式存放
  5. On Error GoTo Executesql_error ‘如果出錯,進行的應急處理
  6. okens = Split(sql) ‘通過split函數將sql 語句按單詞存入數組,例:如果sql語句是 select * from student ,那麽運行的結果就是——stokens(0)= "select",stokents(1)="*" ,stokens(2)="from",stokens(3)="student"
  7. Set cnn = New ADODB.Connection ‘將cnn實例化
  8. cnn.Open ConnectString ‘通過connectstring將數據庫連接,並且打開
  9. If InStr("INSERT,DELET,UPDATE", UCase$(sTokens(0))) Then ‘判斷是否通過select語句進行查詢操作
  10. cnn.Execute sql<span style="white-space:pre"> </span>‘直接執行操作,不返回操作結果。
  11. Msgstring = sTokens(0) & "query successful"
  12. Else
  13. Set rst = New ADODB.Recordset ‘臨時列表的實例化
  14. rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic ‘rst打開,trim&()中保存的是要進行的操作字符串;cnn是字符串表達式,登錄的 ODBC 數據源的名稱,打開方式。;dOpenKeyset ,確定遊標類型(即查找的方式) 為使用鍵集遊標。不能訪問其他用戶刪除的記錄,但除無法查看其他用戶添加的記錄外,它和動態遊標相似。其他用戶所做的數據更改依然可見;adlockoptimistic,當數據源正在更新時,系統並不會鎖住其他用戶的動作,其他用戶可以對數據進行增、刪、改的操作。
  15. Set Executesql = rst ‘將得到的臨時列表賦值給executesql函數,尤它傳回並進一步賦值給mrc
  16. Msgstring = "查詢到" & rst.RecordCount & "條記錄"
  17. End If
  18. utesql_exit: ‘函數退出前的一個清空臨時列表的操作。
  19. Set rst = Nothing
  20. Set cnn = Nothing
  21. Exit Function
  22. utesql_error: ‘錯誤標識,錯誤出現時的處理
  23. Msgstring = "查詢錯誤:" & _
  24. Err.Description
  25. Resume Executesql_exit
  26. Function


《ConnectString ()函數的介紹》

executssql 函數的每一句代碼的意思