青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

關(guān)于SQLite

最近在項(xiàng)目中用到了SQLite。主要是客戶端用到,這種小型內(nèi)嵌數(shù)據(jù)庫(kù)還是蠻實(shí)用的。

提起SQLite我不自覺(jué)的就想起了微軟出的ACCESS。他們兩個(gè)確實(shí)是有可比性的。曾經(jīng),小型網(wǎng)站數(shù)據(jù)庫(kù),ASP可以用到ACCESS。但是,PHP卻是沒(méi)有相對(duì)應(yīng)的解決方案,自從SQLite的出現(xiàn),給PHP提供了一個(gè)解決方案。

在客戶端里面,我用到的數(shù)據(jù)保存方案有:CSV、INI、XML。其中XML是最強(qiáng)大的,但是可惜的是我用的解析器是Tinyxml,實(shí)用tinyxml的初衷就是簡(jiǎn)單,只用于配置,所以再?gòu)?fù)雜的事情就有些應(yīng)付不過(guò)來(lái)。至少,邏輯上要復(fù)雜上許多。

我最近,看了迅雷,搜狗……一些軟件的目錄,都有一個(gè)sqlite3.dll。于是就去了解了下。貌似現(xiàn)在很多的im軟件用這個(gè)做客戶端數(shù)據(jù)庫(kù)的也多起來(lái)了。看起來(lái)這個(gè)項(xiàng)目還是不錯(cuò)的。

SQLite有好幾種版本,如果要想內(nèi)嵌到應(yīng)用程序當(dāng)中去,那就要用sqlite-amalgamation這個(gè)版本了。它就是一個(gè)頭文件,一個(gè)c的實(shí)現(xiàn)文件,這個(gè)文件里面有十多萬(wàn)行代碼。我用VS2003編譯的時(shí)候,編譯器會(huì)提醒我,行數(shù)有些超長(zhǎng)了-_-!!

C++里面對(duì)SQLite的包裝類庫(kù)里面,我覺(jué)得SOCI算是很不錯(cuò)的,這個(gè)項(xiàng)目不僅僅是對(duì)SQLite進(jìn)行了包裝,而且對(duì)其他數(shù)據(jù)庫(kù)都有包裝,像MySQL、PostgreSQL、Oracle這些數(shù)據(jù)庫(kù)都支持,還支持ODBC。如果感興趣可以看我轉(zhuǎn)載的一篇博文:http://m.shnenglu.com/tx7do/archive/2009/11/27/102054.html

“工欲善其事,必先利其器。”
既然是數(shù)據(jù)庫(kù),那我自然要有工具能夠編輯數(shù)據(jù)庫(kù)了。我找了找SQLite的數(shù)據(jù)庫(kù)工具,一搜一大把。我試用了好多種,都不是很好用。最終才確定了SQLite Expert Professional,這款商業(yè)軟件。當(dāng)然,我很無(wú)恥的用了破解版。破解版在www.gougou.com里面就能搜索到。我是傾向于用開(kāi)源軟件的,但是很無(wú)奈的是,雖然相關(guān)的工具很多很多,但是就沒(méi)有一款真正好用的。

我在用SQLite Expert創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,發(fā)現(xiàn)有一個(gè)選擇編碼的選項(xiàng),但是很可惜的是全部都是UTF系的編碼……我習(xí)慣性的選擇了UTF8,這個(gè)也是它的默認(rèn)選項(xiàng)。我創(chuàng)建了一個(gè)測(cè)試的數(shù)據(jù)庫(kù),隨便弄了個(gè)表,打了幾個(gè)字,然后保存。再用VS2003做了一個(gè)測(cè)試程序,結(jié)果讀進(jìn)來(lái)的是亂碼。后來(lái)我把數(shù)據(jù)庫(kù)文件放到一個(gè)路徑里面有中文的路徑下,結(jié)果它找不到文件,看來(lái)它完完全全的使用了UTF字符,包括對(duì)路徑的處理。看起來(lái),只能轉(zhuǎn)碼了。以下附上兩個(gè)Windows下的轉(zhuǎn)碼的方法:

std::string UTF8ToAnsi( const std::string& strIn, std::string& strOut )
{
    WCHAR
* strSrc    = NULL;
    TCHAR
* szRes    = NULL;

    
int i = MultiByteToWideChar(CP_UTF8, 0, strIn.c_str(), -1, NULL, 0);

    strSrc 
= new WCHAR[i+1];
    MultiByteToWideChar(CP_UTF8, 
0, strIn.c_str(), -1, strSrc, i);

    i 
= WideCharToMultiByte(CP_ACP, 0, strSrc, -1, NULL, 0, NULL, NULL);

    szRes 
= new TCHAR[i+1];
    WideCharToMultiByte(CP_ACP, 
0, strSrc, -1, szRes, i, NULL, NULL);

    strOut 
= szRes;

    delete[] strSrc;
    delete[] szRes;

    
return strOut;
}


 

std::string AnsiToUTF8( const std::string& strIn, std::string& strOut )
{
    WCHAR
* strSrc    = NULL;
    TCHAR
* szRes    = NULL;

    
int len = MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strIn.c_str(), -1, NULL,0);

    unsigned 
short* wszUtf8 = new unsigned short[len+1];
    memset(wszUtf8, 
0, len * 2 + 2);
    MultiByteToWideChar(CP_ACP, 
0, (LPCTSTR)strIn.c_str(), -1, (LPWSTR)wszUtf8, len);

    len 
= WideCharToMultiByte(CP_UTF8, 0, (LPCWSTR)wszUtf8, -1, NULL, 0, NULL, NULL);

    
char* szUtf8 = new char[len + 1];
    memset(szUtf8, 
0, len + 1);
    WideCharToMultiByte (CP_UTF8, 
0, (LPCWSTR)wszUtf8, -1, szUtf8, len, NULL,NULL);

    strOut 
= szUtf8;

    delete[] szUtf8;
    delete[] wszUtf8;

    
return strOut;
}



這兩個(gè)方法可能不能直接編譯過(guò),有一些自己的東西,需要稍事修改。
用AnisToUTF8將輸入的字符串全都轉(zhuǎn)換為UTF8。用UTF8ToAnis將所有輸出的字符串全部都轉(zhuǎn)化為多字節(jié)字符。


引用:
SQLite:http://www.sqlite.org/
SOCI:http://soci.sourceforge.net/
SQLite Expert Professional:http://www.sqliteexpert.com/

posted on 2009-12-13 14:48 楊粼波 閱讀(1415) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产综合新一区| 亚洲黄色在线观看| 欧美中文在线观看国产| 亚洲一区久久| 亚洲欧美另类国产| 欧美一区日本一区韩国一区| 夜夜爽99久久国产综合精品女不卡| 亚洲精品日韩久久| 亚洲图片欧美午夜| 欧美资源在线| 欧美激情视频给我| 国产精品国产三级国产aⅴ无密码| 国产精品福利在线观看网址| 国产伦精品一区二区三区免费| 国产在线高清精品| 日韩午夜av在线| 午夜精品久久久久久久99水蜜桃 | 久久综合精品国产一区二区三区| 亚洲一二三区精品| 欧美永久精品| 欧美午夜寂寞影院| 国产亚洲综合精品| 夜夜嗨av一区二区三区| 亚洲欧美在线一区| 美女999久久久精品视频| 亚洲国产成人高清精品| 亚洲毛片在线看| 亚洲一区三区在线观看| 久久精品视频在线看| 久久亚洲欧洲| 国语精品一区| 91久久在线视频| 中文精品视频| 久久天天狠狠| 欧美手机在线| 国产自产女人91一区在线观看| 伊人久久男人天堂| 亚洲影院色无极综合| 免费在线成人| 欧美一级久久久久久久大片| 欧美α欧美αv大片| 国产精品视频1区| 亚洲免费观看高清完整版在线观看| 亚洲伊人一本大道中文字幕| 久久精品视频在线观看| 99v久久综合狠狠综合久久| 欧美亚洲视频一区二区| 欧美精品v日韩精品v国产精品| 国产情侣久久| 亚洲一区二区精品在线观看| 欧美 亚欧 日韩视频在线| 亚洲三级国产| 免费欧美在线视频| 国产美女精品视频| 亚洲国产一区二区三区在线播| 欧美在线视频在线播放完整版免费观看| 亚洲韩国日本中文字幕| 美女亚洲精品| 在线观看视频一区| 久久久久国色av免费观看性色| 亚洲网站啪啪| 国产精品久久久久久久久久ktv | 欧美日韩亚洲一区二区三区在线观看| 曰韩精品一区二区| 久久久久一区二区三区| 翔田千里一区二区| 国产美女在线精品免费观看| 亚洲永久精品大片| 亚洲卡通欧美制服中文| 欧美福利网址| 中文在线资源观看视频网站免费不卡| 亚洲国产你懂的| 久久综合激情| 99精品国产99久久久久久福利| 亚洲成色777777在线观看影院| 久久久久国产一区二区| 在线看成人片| 亚洲精品国产精品国产自| 欧美日韩国产综合网| 亚洲色无码播放| 亚洲制服av| 精品91免费| 亚洲国产精品成人| 国产精品99免视看9| 久久久精品性| 欧美精品在线一区二区| 欧美一区二区私人影院日本 | 欧美三区在线| 欧美在线视频在线播放完整版免费观看 | 亚洲美女啪啪| 亚洲一区不卡| 在线观看成人小视频| 亚洲清纯自拍| 国产欧美日韩综合| 亚洲国产精品成人综合色在线婷婷| 欧美日韩国产黄| 欧美一区二区三区婷婷月色 | aa国产精品| 国产在线精品一区二区中文| 亚洲国产三级| 国产欧美短视频| 欧美激情一二区| 国产精品有限公司| 亚洲国产一区二区三区高清| 国产精品人人做人人爽人人添| 另类尿喷潮videofree| 国产精品久久久久久户外露出| 欧美成人亚洲成人| 国产精品综合视频| 亚洲精品国产拍免费91在线| 国产日韩精品一区二区浪潮av| 亚洲国产美女| 亚洲成人中文| 久久成人人人人精品欧| 亚洲一区二区三区精品在线观看| 久久久夜夜夜| 久久精品99国产精品日本 | 欧美日韩国产成人| 美女91精品| 国产一区二区在线观看免费| 夜夜嗨av一区二区三区| 亚洲日韩视频| 噜噜噜在线观看免费视频日韩 | 亚洲日本电影| 欧美一区日本一区韩国一区| 一区二区国产在线观看| 欧美成人国产va精品日本一级| 欧美在线观看日本一区| 国产精品国产自产拍高清av王其| 欧美11—12娇小xxxx| 国产欧美日韩一区| 亚洲视频在线二区| 亚洲精品乱码久久久久久日本蜜臀| 久久大逼视频| 久久久久久久久一区二区| 欧美日韩美女在线观看| 亚洲日韩第九十九页| 亚洲欧美激情视频| 亚洲电影视频在线| 国产一区二区三区奇米久涩 | 亚洲一区二区三区四区在线观看| 一本色道**综合亚洲精品蜜桃冫| 欧美超级免费视 在线| 欧美成熟视频| 亚洲精品免费观看| 欧美日韩国产电影| 亚洲少妇最新在线视频| 亚洲欧美日韩另类| 国产免费一区二区三区香蕉精| 亚洲一区二区三区视频| 欧美诱惑福利视频| 激情偷拍久久| 免播放器亚洲| 日韩视频一区二区三区在线播放免费观看 | 亚洲欧美日本视频在线观看| 久久国产精彩视频| 韩国欧美一区| 女女同性精品视频| 99精品国产99久久久久久福利| 亚洲字幕在线观看| 国产伪娘ts一区 | 国产伦精品一区二区三区照片91 | 久久五月天婷婷| 亚洲欧洲精品一区二区精品久久久| 日韩午夜av| 国产精品永久入口久久久| 久久精品国产成人| 亚洲黄色免费| 午夜精品久久久久久久久| 极品av少妇一区二区| 欧美精品系列| 午夜久久久久久| 亚洲第一在线综合网站| 亚洲欧美成aⅴ人在线观看| 国产亚洲欧美一区二区| 欧美xxx在线观看| 午夜亚洲视频| 亚洲日本aⅴ片在线观看香蕉| 欧美一级视频精品观看| 亚洲成色www8888| 国产精品久久久久久久久| 猛干欧美女孩| 亚洲欧美日韩天堂一区二区| 亚洲国产精品va在看黑人| 久久激情综合网| 亚洲一区二区三区精品在线| 亚洲国产高清在线| 国产精品尤物福利片在线观看| 欧美国产免费| 久久国产福利| 一区二区冒白浆视频| 欧美激情亚洲自拍| 一区二区激情| 韩国一区电影| 国产欧美日韩精品在线| 欧美久久久久久久| 久久三级视频| 欧美呦呦网站| 欧美一级播放| 亚洲午夜免费视频|