如何利用Python和VC6.0對SQLite資料庫進行操作

來源:互聯網
上載者:User

如何利用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:%s\n",sqlite3_errmsg(db));
sqlite3_close(db);
}
else
printf("Open data.db successfulliy!\n");
sqlite3_close(db);
return 0;
}

 這裡我只是簡單介紹一下利用VC6.0和Python對SQLite的簡單操作,至於插入、更新和刪除等操作,以及根據自己的應用場合進行編程,這裡不再贅述。有興趣的朋友可以聯絡我一起交流,謝謝!



        


   

        











相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.