1. Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
  2. Dim oDB As Object
  3. Public dbPath As String '存储 数据库路径
  4. Private Sub Class_Initialize()
  5. Dim lb As Long
  6. lb = LoadLibrary(App.Path & "\sqlite3.dll")
  7. Set oDB = CreateObject("LiteX.LiteConnection")
  8. End Sub
  9.  
  10. Private Sub openDB()
  11. oDB.Open (dbPath)
  12. End Sub
  13.  
  14. Public Function Insert(ByVal tableName As String, ByRef arr() As String) As String '插入 数据库的操作,返回受影响的行数,tableName为表名,arr为插入的字段名和值的二维数组
  15. Dim str_Fields As String, str_Values As String, strSql As String
  16. strSql = "insert into " & tableName
  17. For I = To UBound(arr)
  18. str_Fields = str_Fields & "'" & arr(I, ) & "',"
  19. str_Values = str_Values & "'" & Trim(Replace(arr(I, ), "'", "''")) & "',"
  20. Next I
  21. str_Fields = Mid(str_Fields, , Len(str_Fields) - )
  22. str_Values = Mid(str_Values, , Len(str_Values) - )
  23. strSql = strSql & "(" & str_Fields & ") values (" & str_Values & ")"
  24. openDB (dbPath)
  25. oDB.Execute (strSql)
  26. Insert = oDB.changes
  27. oDB.Close
  28. End Function
  29.  
  30. Public Function Query(ByVal tableName As String, Optional ByVal Fields As String = "", Optional Condition As String = "", Optional ByVal Exp As String = "") As String() '查询数据。返回结果数组,tableName 表名,fields是你要查询哪些字段,condition是查询条件也就是where, 为其它条件。例如order by ,group by,limit,offset等
  31. Dim arr() As String, sqlStr As String, K As Integer
  32. Dim odbRS As Object
  33. Set odbRS = CreateObject("LiteX.LiteStatement")
  34. Fields = IIf(Fields = "", "*", Fields)
  35. odbRS.ActiveConnection = oDB
  36. sqlStr = "select " & Fields & " from " & tableName & IIf(Condition = "", "", " where " & Condition & " ") & IIf(Exp = "", "", " " & Exp & " ")
  37. Debug.Print sqlStr
  38. openDB (dbPath)
  39. d = odbRS.prepare(sqlStr)
  40. If odbRS.Rows.Count = Then
  41. Query = arr
  42. Else
  43. ReDim arr(odbRS.Rows.Count - , odbRS.Columns.Count - )
  44. For Each Row In odbRS.Rows
  45. For I = To odbRS.Columns.Count -
  46. arr(K, I) = Row(I)
  47. Next I
  48. K = K +
  49. Next
  50. End If
  51. Query = arr
  52. odbRS.Close
  53. oDB.Close
  54. End Function
  55.  
  56. Public Function Modify(ByVal tableName As String, ByRef arr() As String, Optional Condition As String = "") As Integer'实现数据修改功能。tableName表名,arrinsert方法一样的。Condition 为条件,返回受影响的行数
  57. Dim str_ As String, strSql As String
  58. strSql = "update " & tableName & " set "
  59. For I = To UBound(arr)
  60. str_ = str_ & "`" & Trim(arr(I, )) & "`='" & Trim(Replace(arr(I, ), "'", "''")) & "',"
  61. Next I
  62. strSql = strSql & Mid(str_, , Len(str_) - ) & IIf(Condition = "", "", " where " & Condition & " ")
  63. Debug.Print strSql
  64. openDB (dbPath)
  65. oDB.Execute (strSql)
  66. Modify = oDB.changes
  67. oDB.Close
  68. End Function
  69.  
  70. Public Function Delete(ByVal tableName As String, Optional ByVal Condition As String = "") As Integer'删除数据的功能。tableName为表名,condition为条件,返回受影响的行数。
  71. Dim str_ As String
  72. strSql = "delete from " & tableName & IIf(Condition = "", "", " where " & Condition)
  73. Debug.Print strSql
  74. openDB (dbPath)
  75. oDB.Execute (strSql)
  76. Delete = oDB.changes
  77. oDB.Close
  78. End Function

查询

  1. Dim sqlite As New ClsSqlite
  2. sqlite.dbPath = 这里搞上你的数据库的路径
  3. arr = sqlite.Query("这里是表名", "", "`username`='小松'")
  4. '将返回查询结果数组

添加

  1. Private Function makeArr() As String()'本函数为制作一个要插入数据的数组。
  2.     Dim arr() As String
  3.     ReDim arr(, )
  4.     arr(, ) = "name" '这个是字段名
  5.     arr(, ) = txtName.Text  '这个是字段值,下同
  6.     arr(, ) = "oldname"
  7.     arr(, ) = txtOldname.Text
  8.     arr(, ) = "sex"
  9.     arr(, ) = cmbSex.Text
  10.     makeArr = arr
  11. End Function
  12. Private Sub cmdAdd_Click()
  13. Dim pSqlite As New ClsSqlite
  14. arr = makeArr  '这里调用makeArr得到要插入的数据的数组
  15. pSqlite.Insert("populations", arr) '执行插入
  16. End Sub

3、修改
修改和添加记录基本上差不多。也需要makeArr,唯一不同的是一个调用类里面的insert方法,一个调用类里面的modify方法,还有就是既然你要修改数据,需要指定条件,要修改哪个ID的数据。
pSqlite.Modify("populations", arr, "`uid`='" & Uid & "'") 'uid就是指定要修改uid为UID的这一条数据。

4、删除
删除最简单。提供一个表名,和一个条件即可。

 

利用本人提供的这个sqlite3的dll文件,你用vb6就不用复杂的操作,直接用LoadLibrary函数就可以直接操作sqlite数据库了。

sqlite3 litex 版请下载此附件:

附操作数据库的类模块代码以及使用方法。

类模块代码【添加一个类,比如我们取名为ClsSqlite】
将以下代码粘贴到类中:

vb sqlite 使用 litex的更多相关文章

  1. 在VB中使用Linq To SQLite注意事项

    昨天使Linq To SQLite 支持VB,今天在VB中写了几条Linq语句,发现了几个问题: 1.在Linq To SQLite中的Linq语句查询后并不是得到的匿名数据类,而是将Linq转换为S ...

  2. 在VB中利用Nuget包使用SQLite数据库和Linq to SQLite

    上午解决了在C#中利用Nuget包使用SQLite数据库和Linq to SQLite,但是最后生成的是C#的cs类文件,对于我这熟悉VB而对C#白痴的来说怎么能行呢? 于是下午接着研究,既然生成的是 ...

  3. (图文实例)用VB.net操作SQLite数据库

    转载请注明出处:HateMath归来(http://www.cnblogs.com/hatemath/) 环境: Visual Studio 社区版 64位 Windows 7系统 新建的解决方案基于 ...

  4. vb.net 與 SQLite連線

    Dim ModuleSql As String Dim n As Integer 'SQLite連線Dim connSQLite As New Data.SQLite.SQLiteConnection ...

  5. SQLite剖析之功能特性

    SQLite是遵守ACID的轻型数据库引擎,它包含在一个相对较小的C库中.它是D.RichardHipp创建的公有领域项目.不像常见的客户端/服务器结构范例,SQLite引擎不是一个与程序通信的独立进 ...

  6. iOS学习36数据处理之SQLite数据库

    1. 数据库管理系统 1> SQL语言概述 SQL: SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集, 是一种功能齐全的 ...

  7. 在C#中利用Nuget包使用SQLite数据库和Linq to SQLite

    本来是学习在VB中使用SQLite数据库和Linq to SQLite,结果先学习到了在C#中使用SQLite数据库和Linq to SQLite的方法,写出来与大家共同学习.(不知道算不算不务正业) ...

  8. ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】4.5

    摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)[ECG]是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于OO.ADO.N ...

  9. SQLite数据库增删改查

    一:SQLite数据库简介: SQLite是一种轻量级的关系型数据库,官网:http://www.sqlite.org/. SQLite数据库文件存在于移动设备的一下目录中:data->data ...

随机推荐

  1. VMware下桥接设置

    操作环境 主机:Win7 X86 SP1 虚拟机:VMware station 8 虚拟机里的系统:Fedora 15 环境上,不管什么系统,什么版本的虚拟机,使用上都是大同小异的,毕竟核心是不变的. ...

  2. iOS开发之网络请求(基于AFNetworking的再封装)

    最近一直很忙也没有什么时间写博客了.放假了休息一下,就写一篇博客来总结一下最近做项目中出现过的问题吧!!! 首先,在项目中我的起到了什么作用,无非就是把美工(UI设计师)给我们的图显示出来,然后再和服 ...

  3. Spring XML 不给提示

    a)window – preferences – myeclipse – xml – xml catalog b)User Specified Entries – add i. Location: D ...

  4. oracle体系结构

    oracle体系结构有四个部分组成分别为:oracle 服务器.用户进程.服务器进程.其他关键文件.其中oracle服务器又有实例(instance)和database组成是一个数据库管理系统. 一. ...

  5. 关于PHPExcel

    在学PHPExcel的时候,在网上查了很多资料,花了很多时间,下面是我想要分享给大家的,我找到的并进行了一定修改的亲身实践成功的资料,希望大家对大家有所帮助. 首先,需要下载PhpExcel资料,下载 ...

  6. 【转】MUD教程--巫师入门教程4

    我们再次复习一下clean_up()函数返回1的含义,如果clean_up()函数返回1,则MUDOS在这一次的调用时不会做其的任何举动,但到了下一次想调用的时间里,还将再次调用这个对象的clean_ ...

  7. Oracle EBS-SQL (PO-1):检查供货比例异常.sql

    select distinct msr.sourcing_rule_name                     名称 , msi.description                      ...

  8. ListView的Item点击事件(消息传递)

    转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢! 您可以到博客的“友情链接”中,“程序猿媛(最新下载)*.*”下载最新版本,持续更新!当前版本,也可直 ...

  9. 二叉查找树的Insert和Delete操作

    struct TreeNode{ SearchTree Left; SearchTree Right; ElementType Ele; }; /*递归一定有出口*/ /*递归代码就是要重复使用*/ ...

  10. chapter 10 统计检验

    1.permutation test 用途:用于检验两组数据是否出生于同一分布 思路:如果产生于同一分布,两组数据混合,重新排列后,计算的基于两组数据的函数值(均值,中位数,方差等,下面程序中使用f指 ...