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