如何利用Python和VC6.0对SQLite数据库进行操作

2020-12-22 10:53:40 浏览数 (1)

参考链接: 使用Python和SQLite的SQL 2

如何利用Python和VC6.0对SQLite数据库进行操作 

(如需交流,请关注公众号:神马观止)  

       这段时间由于工作上的需要,简单学习了SQLite数据库的操作,为了方便地将采集的数据写入到SQLite数据库中,我采用Python。但是由于后期需要用C来实现数据处理算法,因此也需要完成利用VC6.0来对SQLite数据进行操作。为了对这段时间学习进行总结,也为了日后用到相关知识可以直接参考积累的成果,特此将这些工作记录于这篇博客。当然,由于牵涉到数据保密问题,以及算法的不宜公开,这里只是介绍Python和VC6.0对SQLite的操作代码。 

       第一步就是安装SQLite,这里我选用的数据库是Navicat for SQLite,界面简洁而操作简单,最高的处理数据量可以达到2T。另外注意为了在接下来的VC6.0中导入静态链接库,需要有以下几个文件: 

        (1)sqlite3.dll和sqlite3.def 

        (2)sqlite3.lib和sqlite3.h 

          这里,由sqlite3.def产生,打开DOS命令行界面,通过cd以及盘符切换指令将目录转到SQLite所在处,运行命令:LIB /DEF : sqlite3.def。将会出现如下所示的常见库产生输出: 

          C:sqlite>lib /DEF : sqlite3.def 

          Microsoft(R) Library Manager Version 10.00.30319.01 

          ……(详细请见《SQLite权威指南》(第二版)) 

 sqlite3.h可以直接从网上下载一个,如果需要可以联系我。这样第一步的准备工作就完成了。 

 第二步是安装Python和VC6.0,这个我就不再啰嗦了。这里我用的是Python 2.7。数据文件为data.txt。 

1.Navicat for SQLite操作界面 

 Navicat for SQLite是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设计的。对数据库服务器的新手来说学习起来相当容易,有极完备的图形用户界面 (GUI),可以简便地以安全且简单的方法创建、组织、访问和共享信息。 

 在之后我们得到data.db文件时,通过建立连接,即可利用SQL语句对数据库进行查询等操作了。需要导入4列数据。如图所示(很抱歉我不能上传完整数据视图): 

2.Python对SQLite数据库的操作 

 接下来我们打开Python 2.7的IDLE(Python 2.7 GUI),开始编写Python操作SQLite数据库的代码,打开之后如下图所示: 

File→New Window创建新的.py文件,编写代码如下: 

#导入Python SQLite数据库模块

import sqlite3

#创建/打开数据库

cx=sqlite3.connect("E:/data.db")

#使用游标查询数据库

cu=cx.cursor()

#建表

cu.execute("create table me (id integer primary key,ivalues1 string,ivalues2 string,ivalues3 string,ivalues4 string)")

txtRead_0=open("E:/0.txt",'r');

file_0=txtRead_0.readlines();

icount=1

for line in  file_0:

        ivalues1,ivalues2,ivalues3,ivalues4=line.split('t')

        cx.execute("insert into me values('%d','%s','%s','%s','%s')"%(icount,ivalues1,ivalues2,ivalues3,ivalues4))

        cx.commit()

        icount =1

txtRead_0.close 

     这样就完成了将data.txt中的数据写入到数据库文件data.db中,通过Navicat for SQLite就可以进行查询等操作,也可以将感兴趣的组导出。 

3.VC6.0对SQLite数据库的操作  

 相对于Python对SQLite的操作来说,用VC6.0 来操作数据库稍微显得麻烦一点,不过考虑到日后代码的移植性,即使麻烦一点还是值得的。 

通过VC6.0界面中的Project→Settings打开Project Settings界面,如下图所示: 

 在Object/library modules:中添加之前我们得到的sqlite3.lib,这样就可以构建我们自己的程序了。同时记得将sqlite3.lib和sqlite3.dll拷贝到当前工程目录中。然后按照我们最熟悉的新建工程,Win32控制台程序,这里一定要将之前下载的sqlite3.h添加到工程中。接着我们编写代码如下: 

#include <stdio.h>

#include "sqlite3.h"

int main(void)

{

sqlite3 *db=NULL;

char *MyErrMsg=0;

int icount;

//打开指定的数据库文件,如果不存在将创建一个同名的数据库文件

icount=sqlite3_open("data.db",&db);

if (icount)

{

fprintf(stderr,"Cann't open database:%sn",sqlite3_errmsg(db));

sqlite3_close(db);

}

else

printf("Open data.db successfulliy!n");

sqlite3_close(db);

return 0;

 这里我只是简单介绍一下利用VC6.0和Python对SQLite的简单操作,至于插入、更新和删除等操作,以及根据自己的应用场合进行编程,这里不再赘述。有兴趣的朋友可以联系我一起交流,谢谢!

0 人点赞