亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQLite > 正文

在TCX中使用SQLite3

2024-09-07 00:10:01
字體:
來源:轉載
供稿:網友

我早就鼓吹過:SQLite是最好的本地文件型數據庫。

在Windows下,它只要一個幾百K的DLL就可以驅動,管理工具也只是一 個幾百K的EXE程序就行了。相比之下,ACCESS龐大得令人生厭,即使是一個OLE-DB驅動也有至少10M以上的size,更不用說Foxpro, Paradox……那一大堆的表文件了。當然,SQLite的性能還不能跟那個BT的BerkeleyDB相比——BDB根本不能算是一個完整的數據庫, 連 SQL都不支持。

不過因為VCL提供的BDE、ADO、DBX等開發手段都沒有提供對SQLite的支持——PostgreSQL至少還可 以通過OLD-DB驅動用ADO方式連接。所以用Delphi或BCB訪問SQLite還是比較麻煩的。我之前都只是在Python應用中使用 SQLite。

幸好開源社區很快為此提供了支持,那就是優秀的開源數據庫控件包:ZEOSDBO。它基于VCL標準的數據庫接口實現,可以像BDE、ADO、DBX那樣使用這一組控件,它支持的數據庫和開發工具有:

支持的數據庫:Sybase/ASA、Oracle、MS SQL、MySQL、InterBase/Firebird、PostgreSQL、SQLite/3等。
支持的VCL開發工具:Delphi 5-10,BCB 5/6,Kylix 2/3,Lazarus等。

然 而因為版權的原因,我現在只使用CodeGear的免費開發工具:Turbo C Explorer(TCX)。由于免費版的License限制,不能在TCX中安裝任何第三方控件,所以我無法直接使用ZEOSDBO。不過我既然已經大 言不慚地號稱DELPHI專家多年,要是連這也搞不定,那也太沒面子了吧。挖卡卡。

經過一番試驗,這個問題最終還是得以解決。其實也沒有什么技術含量,無非是麻煩一點罷了:

啟動TCX,創建一個VCL應用,在Project里加入以下文件夾中的所有PAS文件:

ZEOSDBO/src/core
ZEOSDBO/src/dbc
ZEOSDBO/src/parsesql
ZEOSDBO/src/plain

然后在Project里加入 ZEOSDBO/src/component 文件夾中的必要文 件——用到哪幾個控件就加哪幾個控件的文件,比如常用的ZConnection.pas和ZDataset.pas,其它不必要的文件不用加入。特別是文 件名中包含"Editor"的屬性編輯功能單元,因為它們用到了控件Design的一些東西,而這些在免費版的TCX中是沒有的,加入這些單元將導致編譯 失敗。

加好文件以后暫時不要在程序中引用,而是先編譯一下,生成必要的相關文件——如.hpp等。正常情況下除了會出現幾個HINT或WARNING以外,都能成功編譯。

之后就可以在程序中引用ZEOSDBO訪問SQLite了。

Unit1.h內容大致如下(其中偷懶用了STL中的auto_ptr管理ZEOSDBO控件對象的生命周期):

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ZConnection.hpp>
#include <ZDataset.hpp>

#include <memory>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
std::auto_ptr<TZConnection> zConn;
std::auto_ptr<TZTable> tblPerson;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

在Unit1.cpp中就可以如下代碼所示訪問SQLite了:

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner),
zConn( new TZConnection(this) ),
tblPerson( new TZTable( this) )
{
zConn->Protocol = "sqlite-3";
zConn->HostName = "localhost";
zConn->Database = ChangeFileExt( Application->ExeName, ".sqlite3" );
zConn->User = "";
zConn->Password = "";
zConn->Connect();
tblPerson->Connection = zConn.get();
tblPerson->TableName = "person";
tblPerson->Open( );
//...
}

最后再廢話一句:SQLite可是開源免費跨平臺的哦。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1609484

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品美女免费| 国产成人午夜视频网址| 成人97在线观看视频| 国产在线精品成人一区二区三区| 国产精品爽爽爽爽爽爽在线观看| 欧美又大粗又爽又黄大片视频| 国产精品爽黄69天堂a| 日韩av片免费在线观看| 欧美国产视频一区二区| 操日韩av在线电影| 国产精品精品一区二区三区午夜版| 亚洲在线www| 清纯唯美亚洲综合| 欧美插天视频在线播放| 日韩在线中文字幕| 日韩国产精品亚洲а∨天堂免| 2021国产精品视频| 午夜精品久久久久久久99热浪潮| 亚洲欧美综合图区| 欧美成年人视频网站| 久久国产精品视频| 92看片淫黄大片看国产片| 欧美在线视频在线播放完整版免费观看| 懂色av影视一区二区三区| 日韩中文字幕在线精品| 成人福利在线观看| 亚洲精品理论电影| 91在线视频精品| 久久久亚洲影院| 精品国内产的精品视频在线观看| 色阁综合伊人av| 日韩精品在线第一页| 国产一区二区丝袜高跟鞋图片| 精品一区二区电影| 亚洲成人激情在线| 国产精品免费一区豆花| 久久福利网址导航| 欧美中文字幕在线视频| 国产玖玖精品视频| 日韩高清有码在线| 日韩精品视频在线观看免费| 国产一区二区三区在线视频| 国产精品海角社区在线观看| 亚洲成年网站在线观看| 国产欧美日韩免费| 精品亚洲一区二区三区在线播放| 欧美福利视频在线| 91精品国产综合久久男男| 91免费在线视频网站| 久久国产一区二区三区| 日韩日本欧美亚洲| 欧美电影《睫毛膏》| 久国内精品在线| 国产精品福利网| 久久久精品一区二区| 国产日本欧美一区二区三区在线| 日本欧美在线视频| 亚洲第一区在线观看| 日韩av成人在线观看| 欧美日韩国产一中文字不卡| 一区二区欧美日韩视频| 国产精品偷伦视频免费观看国产| 亚洲成人黄色网址| 国产一区av在线| 最近2019中文字幕在线高清| 成人h猎奇视频网站| 91精品国产91久久久| 最近2019中文字幕大全第二页| 欧美视频中文字幕在线| 亚洲自拍小视频免费观看| 欧美日韩成人在线播放| 欧美日韩精品在线观看| 91欧美视频网站| 欧美日韩中文字幕| 亚洲成人激情视频| 国产一区二区三区高清在线观看| 亚洲一级片在线看| 亚洲电影免费观看高清完整版| 国产成一区二区| 欧美日韩国产色视频| 日本19禁啪啪免费观看www| 中文字幕欧美视频在线| 18性欧美xxxⅹ性满足| 91免费电影网站| 日韩欧美中文免费| 成人av.网址在线网站| 欧洲亚洲女同hd| 欧美一级成年大片在线观看| 欧美日韩国产专区| 在线观看日韩专区| 欧美综合激情网| 自拍偷拍亚洲在线| 国产91色在线播放| 亚洲精品久久久久久久久久久久| 亚洲美女中文字幕| 亚洲国产精品视频在线观看| 久久成人这里只有精品| 亚洲999一在线观看www| 欧美亚洲国产视频小说| 日韩午夜在线视频| 三级精品视频久久久久| 国产精品人人做人人爽| 亚洲在线视频福利| 亚洲男人天堂九九视频| 亚洲成人国产精品| 亚洲在线观看视频网站| 国产亚洲综合久久| 国产精品久久久久久久av电影| 日韩av网站大全| 精品国产31久久久久久| 午夜免费在线观看精品视频| 国产精品九九九| 青草青草久热精品视频在线观看| 66m—66摸成人免费视频| 欧美国产视频日韩| 黑人巨大精品欧美一区免费视频| 亚洲美女精品久久| 国产91在线播放精品91| 亚洲一区二区三区四区在线播放| 亚洲人在线观看| 精品国产电影一区| 狠狠爱在线视频一区| 日韩在线免费观看视频| 91精品国产综合久久香蕉的用户体验| 国产精品h片在线播放| 91av在线精品| 欧美精品日韩三级| 欧美性在线视频| 亚洲欧美国产精品久久久久久久| 亚洲精品国产精品国自产在线| 亚洲欧美一区二区三区四区| 国产91在线播放精品91| 欧美在线视频一区| 98精品在线视频| 欧美日韩国产中字| 国产欧美一区二区三区视频| 国产区亚洲区欧美区| 日韩麻豆第一页| 亚洲美女在线视频| 最近2019中文免费高清视频观看www99| 亚洲人成电影在线观看天堂色| 2020欧美日韩在线视频| 欧美日韩国内自拍| 欧美激情免费在线| 亚洲男人天天操| 国内精品小视频| 亚洲精品视频在线播放| 欧美综合激情网| 久久天天躁狠狠躁夜夜av| 欧美高清在线视频观看不卡| 久久久精品免费| 欧美日韩亚洲系列| 亚洲精品中文字幕有码专区| 成人黄色av播放免费| 亚洲欧洲日本专区| 日韩av不卡电影| 91精品在线影院| 欧美极品少妇xxxxⅹ免费视频| 久久福利视频网| 久久色精品视频| 欧美日韩亚洲网| 久久精品人人做人人爽| 亚洲欧美精品中文字幕在线| 日本一区二区在线免费播放|