VFB组件:sqlite3控件(数据库)

VFB组件:sqlite3控件(数据库)_第1张图片

第三方控件,免安装、免配置、高效率的本地数据库系统。现在你只需要拖个控件就可以使用。

设计属性里有一个选项,
1:把数据库引擎放到EXE内部,EXE文件会比较大,比平常大 1.5MB
2:外带DLL引擎,编译软件后,需要带一个数据库DLL。

VFB组件:sqlite3控件(数据库)_第2张图片

事件就2个:查询数据时,可以拦截结果,和显示所有SQL命令,还能修改SQL命令。

VFB组件:sqlite3控件(数据库)_第3张图片

 打开和关闭数据库,支持加密数据,加密后忘记密码,是无法破解的,加密后的数据库,所有数据都是密文,破解需要爆破,就是循环测试密码。

   If SQLiteBox1.Open(App.Path & "数据库文件.db" ,"密码,无密码留空") = False Then 
      MsgBox "打开数据库失败"
      Return 0
   End If 
   SQLiteBox1.Close 

查询全部


   Dim rs() As String ,x as Long ,y as Long
   If SQLiteBox1.Find("数据库表" ,"查询条件" ,rs()) Then
      Print UBound(rs) ,UBound(rs ,2)
      For y = 0 To UBound(rs) ' y = 0 时将显示字段名
         For x = 0 To UBound(rs ,2)
            Print x,y, Utf8toStr(rs(y ,x))  '如果是文本,因为是 UTF8 编码,需要转换后输出
         Next
         Print
      Next
   Else
      Print "没查到"
   end if 

函数原型

Declare Function Find(Table As CWSTR ,Cond As CWSTR ,rs_Utf8() As String ,Col As CWSTR = "*" ,Orderby As CWSTR = "" ,Page As Long = 1 ,Pagesize As Long = 0) As Long
Declare Function FindUtf(Table_Utf8 As String ,Cond_Utf8 As String ,rs_Utf8() As String ,Col_Utf8 As String = "*" ,Orderby_Utf8 As String = "" ,Page As Long = 1 ,Pagesize As Long = 0) As Long

参数

Table 表名,
Cond 条件,如ID>0 等等,就是字段名>、= 、<、<= 、>= 某值 还有 or and 等,和我们代码的 if 同样道理,无条件将查出全部
还有 id IN(2,10,30) 等列表条件,可以查阅相关的 SQL 条件说明
LIKE '%AA%' 模糊查找,%号表示任意字符,模糊条件不区分大小写。
字符串用单引号( ' ),如同 B语法的双引号,遇到值是单引号( ' ) ,那么和 B语法一样,用连续2个单引号 ( '' ) 表示1个单引号的值。
rs() 查出的内容,2维数组,rs(行,列) 0行为字段名称:如 rs(0,0 rs(0,1) 数据从 rs(1,x) 开始
变量类型是 String ,不表示是 A字符,是原始数据,如果字段是字符,需要转换后使用。
如果字段是数字,用 val() valint() 转换,如果是字符,用 Utf8toStr UTF8toCWSTR 转换
Col 字段名称(列名),需要查询出什么字段,可以用 字段名1,字段名2,... 查出结果为指定列,将影响 rs() 结果
Orderby 查出的数据按那个字段排序,这里是 字段名称(列名)
默认升序,倒序:字段名 DESC ,字段名称+空格+DESC ,默认值是ASC
可以多字段排序:字段名1,字段名2,字段名3 等等,也可以加 DESC 倒序,先排序 字段1,字段1里的内容字段2排序......
Page 分页查询,第 Page 页(最小是 1页),每页 Pagesize 行。不设置 Pagesize ,将查出全部内容。
Pagesize 1页多少条数据

其它功能

SQLiteBox1.FindOne    '查询 一条记录
SQLiteBox1.FindOnly   '查询 一个字段
SQLiteBox1.AddItem    '新增一条记录
SQLiteBox1.Count      '统计满足条件的行数
SQLiteBox1.DeleteItem '删除记录
SQLiteBox1.MaxID      '查找表中某列最大值
SQLiteBox1.Sum        '获取ColName字段值的总和,ColName 需要是数值字段
SQLiteBox1.Update     '更新记录
SQLiteBox1.SetKey     '设置密码

 各功能参数,看及时帮助提示

VFB组件:sqlite3控件(数据库)_第4张图片

你可能感兴趣的:(数据库,sqlite,VisualFreeBasic,VFB)