- UID
- 3260
- 精华
- 积分
- 648
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。
如果,你只是保存少量数据,如软件的配置,设置等等,可以考虑用 INI
使用也很简单,基本上就读和写。- 读取
- aa=INI_GetKey("文件名.INI","组名称","字段","默认值") 默认值是当这字段不存在时,返回给 aa 的值
- 写入
- INI_SetKey("文件名.INI","组名称","字段","数据值") 写数据,如果"数据值"为空,将会删除此字段
复制代码 如果,文件不存在,将会自动创建
其它函数是,整组读取,整组删除,很简单,要用到时看下函数参数。
假如有大量数据,那就要用到数据库引擎了。
微软有 ACC数据库,用ADO数据库引擎操作,来到了VFB,当然要用比它好用,且0配置的,不需要其它支持的SQLite数据库了。
除非很念旧,很固执,必须用ACC,不然,我们必须用非常好的SQLite数据库。原来的ACC数据库,可以用SQLite管理软件来转换
想要用数据库,必须要有个非常好用,操作简单的数据库管理软件,Navicat 是业内世界上数一数二的管理软件,外国的且是收费的,在天朝,大家懂的,随便用。
想要用好数据库,必须得学习 SQL 语法,这是数据库语言,不管你是写网页,写电脑软件,写手机软件,这 SQL是通用的,
我们不需要深入学习SQL,但是基础是必须的,需要购买本SQL的书,好好学习。
关于SQL学习和管理器软件使用,本文不提了,只说与VFB相关的。
打开数据库- Dim db As SQLite3 Ptr 'DB 为后面使用数据用
- SQLiteOpen db,"数据库文件","密码,无密码此参数省略"
复制代码 关闭数据库
执行SQL- SQLiteExec db,"SQL语句" '文字编码是 Utf8,而SQLiteExec会自动转换,不需要我们转换
复制代码
查询数据- Dim sql As String ,rs() As String
- sql="SELECT * FROM 表名 WHERE 条件 LIMIT 获取行数" '文字编码是 Utf8,而SQLiteSelect会自动转换,不需要我们转换
- SQLiteSelect( hDB,Sql,rs())
复制代码 查询来的 RS() 是二维数组 第0列是字段名- For i=0 To UBound(rs,1)
- Print Utf8toStr(rs(0,i)) '显示字段名称 文字都是Utf8格式的,有中文,必须用Utf8toStr转换
- Next
复制代码 显示全部数据,注意,数据从 1 开始,0行是字段名称- For y=1 To UBound(rs,1)
- For x=0 To UBound(rs,2)
- Print rs(y,x) & " , " ;
- Next
- Print
- Next
复制代码 插入数据例题- SQLiteExec(hDB,"INSERT INTO test(id,name,sex) VALUES('1','Tom','M')")
- 表 字段名 值
复制代码 更新数据- SQLiteExec(hDB,"UPDATE test SET sex='M' WHERE name='Jerry'")
- 表 条件 更新内容
复制代码 删除数据- SQLiteExec(hDB,"DELETE FROM test WHERE name='Jerry'")
- 表 条件
- SQLiteExec(hDB,"DELETE FROM test WHERE id IN('003','005'")
- 表 条件
复制代码 受影响的记录数,我们可以使用sqlite3_change(sqlite3 *)的API来统计上一次操作受影响的记录数。- print sqlite3_changes(hDB)
复制代码
整理数据库,也称压缩数据库
事务(Transaction) 批量处理SQL语句,如果大量操作数据库,会很慢的,必须用这个
- SQLiteExec(hDB, "BEGIN TRANSACTION") ' 开始一个事务
- SQLiteExec( .....SQL)
- ....... 大量SQL
- SQLiteExec(hDB, "COMMIT TRANSACTION") ' 执行事务
- SQLiteExec(hDB, "END TRANSACTION") ' 结束事务
复制代码
注意:以上sqlite代码,生成的EXE,将包含数据库引擎,所以,你的EXE将会增加700KB左右,好处是,没必要带个 sqlite3.DLL 文件了。
坏处是 EXE文件变大,不过,谁在乎这么点大的EXE呢。
因此,VFB生成的EXE纯绿色,单文件。
使用ADO数据库
在 WinFBX 里,有个 ADO数据库 章节,自己看帮助,自己研究下,本人没搞过,目前不知道。
|
|