VB+Sqlite組合,真香!(二)

微信公衆號:@網管小賈

個人博客:@www.sysadm.cc

上文書我們說到 VB+SQLite 組合帶給我們單機數據庫應用的光明前景。

什麼?上一篇還沒有看?

好吧,給你鏈接,省得找了。

鏈接:VB+SQLite組合,真香!(一)

咳咳,雖然解決了單機訪問數據庫速度和品質的問題,但原始代碼還是有點不夠簡單和人性化。

這不,我研究了一下,搞了一個簡單版的自定義類,方便調用。


調用這個類很簡單,只要先New個對象,再給些參數即可完成任務。

完成任務後釋放對象即可,全程不再需要自己先打開數據庫再關閉等等額外的複雜操作。

超級簡便有木有?

另外,SQL語句也可以保持標準語法,不用記住那些特殊怪異的單詞和符號啦。

好,快來看看接下來的實例吧。


1、查詢記錄

' 自定義類
Dim objSQLite As New ClsSQLite

'定義數據庫文件路徑
objSQLite.p_DbFilePath = App.Path & "\user.db"
    
'定義SQL語句,此處可設定textbox爲任意SQL語句
objSQLite.p_Sql = "select * from tbl_user where id > 1"
    
'執行語句
If objSQLite.SelectSQL = False Then
    MsgBox "查詢失敗!" & vbCrLf & vbCrLf & objSQLite.p_Msg
Else
    MsgBox "查詢成功!" & vbCrLf & vbCrLf & objSQLite.p_Msg
    MsgBox "字段數: " & objSQLite.p_ColumeCount
    MsgBox "記錄數: " & objSQLite.p_RecordCount
        
    Dim i As Long, j As Long
    Dim intColumeCount As Long, intRecordCount As Long
    
    intColumeCount = objSQLite.p_ColumeCount - 1
    intRecordCount = objSQLite.p_RecordCount - 1
        
    '字段名稱遍歷
    For i = 0 To intColumeCount
        MsgBox objSQLite.p_RecordSetField(i)
    Next
        
    '記錄值遍歷
    For j = 0 To intRecordCount
        For i = 0 To intColumeCount
            MsgBox objSQLite.p_RecordSetValue(j, i)
        Next
    Next
        
End If

' 釋放對象
Set objSQLite = Nothing

2、更新記錄

' 自定義類
Dim objSQLite As New ClsSQLite

'定義數據庫文件路徑
objSQLite.p_DbFilePath = App.Path & "\user.db"
    
'定義SQL語句,此處可設定textbox爲任意SQL語句
objSQLite.p_Sql = "update tbl_user set value='" & txtUpdateItem2.Text & "' where id=" & txtUpdateItem1.Text
    
'執行語句
If objSQLite.ExecuteSQL = False Then
    MsgBox "更新失敗!" & vbCrLf & vbCrLf & objSQLite.p_Msg
Else
    MsgBox "更新成功!" & vbCrLf & vbCrLf & objSQLite.p_Msg
End If
    
' 釋放對象
Set objSQLite = Nothing

3、批量執行SQL語句之一

' 自定義類
Dim objSQLite As New ClsSQLite

'定義數據庫文件路徑
objSQLite.p_DbFilePath = App.Path & "\user.db"
    
'批量SQL語句,用分號相隔
'objSQLite.p_Sql = "update tbl_user set value='J055555555' where id=5;update tbl_user set value='K066666666' where id=6;insert into tbl_user(id,value) values(9,'ABC123')"
'objSQLite.BatchExecuteSql
    
'單獨SQL語句
objSQLite.p_Sql = "insert into tbl_user(id,value) values(8,'88888888')"
objSQLite.ExecuteSQL
    
MsgBox objSQLite.p_Msg
    
' 釋放對象
Set objSQLite = Nothing

4、批量執行SQL語句之二

' 自定義類
Dim objSQLite As New ClsSQLite

'定義數據庫文件路徑
objSQLite.p_DbFilePath = App.Path & "\user.db"
    
'定義批量SQL語句------定義數組上限
objSQLite.p_BatchSqlUbound = 3
    
'定義批量SQL語句------定義各語句
Dim i As Integer
For i = 0 To 3
	objSQLite.p_BatchSql(i) = "INSERT into tbl_user(id, value) values(" & i + 10 & ",'xxxxxxxx')"
Next
objSQLite.BatchExecuteSql
    
MsgBox objSQLite.p_Msg

' 釋放對象
Set objSQLite = Nothing

基本的CRUD都可以用了,調用SQL大概分爲 SELECTEXECUTE 兩種方式。

SQLite自定義類的文件名是 ClsSQLite.cls ,下載鏈接:

請到博客查找免費下載。

注意了,這個類文件需要以上一篇的程序爲基礎才能使用,單獨使用無效。

上一篇文章鏈接:VB+SQLite組合,真香!(一)


另外抱歉哈!由於站長工作繁忙時間緊張,沒有放出完整的程序。

如有需要請留言給我,我會再抽時間製作。

最後,真心希望以上內容能幫到你!

好,老闆喊我去搬磚了… 拜拜…

微信公衆號:@網管小賈

個人博客:@www.sysadm.cc

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章