使用SQLite数据库,LabVIEW操作轻松便捷

发表时间: 2020-07-10 08:50

SQLite是轻型数据库里的王者。用数据库的地方就少不了SQLite的身影。不需要任何配置,最大可以处理TB级的数据。资源占用非常少,在嵌入式设备中只需要占用几百K内存就够了。


Dr. JamesPowell对SQLite的动态链接库进行了封装,让LabVIEW集成SQLtie更加方便。


查询数据库的例子



【Open】用来打开一个数据库文件,【db file】是数据库包含全路径的名字,格式可以是“文件路径”也可以是“字符串”。

数据库名字为空时,会创建一个临时数据库。数据库名字为字符串“:memory:”时,会创建一个内存中的数据库。临时数据库和内存数据库在程序关闭时会被销毁。

【Prepare】生成一条SQL语句。如果SQL语句含有参数,可以调用属性节点,使用“Bind”属性绑定值到参数。SQL语句中的参数用“?”表示。


【FirstStep】执行【Prepare】生成的SQL语句。【Row returned】为True表示有返回结果。可以调用属性节点读取第一行数据。


【Step】放在【First】之后调用,用以读取下一条数据。

【Reset】一条SQL语句执行完后,必须调用【Reset】复位SQL语句到初始状态。复位后可以再次运行执行【First Step】。【Reset】指令不会清除绑定的参数值。复位后相当于SQL语句重新执行。

【Finalize】关闭数据库文件之前,运行完成。释放准备好的SQL语句。

【Close】关闭数据库文件。


SQL语句的例子



查询整张表TTT

SELECT * FROMTTT


插入一条数据,有3个参数

INSERT INTOData VALUES (?,?,?)


插入一条数据

INSERT INTOTTT (T1,T2,T3,T4) VALUES (?,?,?,?)

INSERT INTOLog (Text) VALUES ('Log Started')


如果存在表Data,则删除;创建表Data,有三个字段:LVTime,Control,Value

DROP TABLE IFEXISTS Data;

CREATE TABLEData (LVTime, Control, Value)


查询表Data中,按字段Control筛选

SELECT * FROMData WHERE Control LIKE ?


修改一条数据,修改表Log的Time字段

UPDATE LogSET Time = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE rowid = new.rowid