真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語(yǔ)言sqlite封裝的簡(jiǎn)單介紹

sqlite3pp開(kāi)源嗎

sqlite3pp開(kāi)源。

成都創(chuàng)新互聯(lián)從2013年開(kāi)始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元沈陽(yáng)做網(wǎng)站,已為上家服務(wù),為沈陽(yáng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

SQLitePP是一個(gè)C++封裝的SQLite組件,開(kāi)源、免費(fèi)。目的是使用面向?qū)ο蟮姆绞絹?lái)簡(jiǎn)化SQLite的使用,具有面向?qū)ο蟮脑L問(wèn)方式。

sqlite3pp該庫(kù)對(duì)SQLite3API使用C++類進(jìn)行包裝,支持幾乎所有SQLite3功能(打開(kāi)數(shù)據(jù)庫(kù)、查詢、執(zhí)行命令、事物等)。

如何在項(xiàng)目中讀取外部建立的sqlite數(shù)據(jù)庫(kù)

采用將項(xiàng)目中的sqlite文件拷到android內(nèi)存卡上的固定位置,先判斷位置上是否存在sqlite文件,不存在則復(fù)制文件。 sqlite可放在res的raw目錄下,亦可放在assets下,放在assets下,可新建其他層次目錄,本例選擇assets

1.首先,添加sdcard權(quán)限在AndroidManifest.xml

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /

在activity中有如下代碼

2.Java代碼

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

button2.setOnClickListener(new Button.OnClickListener() {

@Override

publicvoid onClick(View arg0) {

try{

String DATABASE_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath()

+ "/testdb"; //將要存放于的文件夾

String DATABASE_FILENAME = "testDatabase.db"; //文件名

String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;

File dir = new File(DATABASE_PATH);

// 如果/sdcard/testdb目錄中存在,創(chuàng)建這個(gè)目錄

if (!dir.exists())

dir.mkdir();

// 如果在/sdcard/testdb目錄中不存在

// test.db文件,則從asset\db目錄中復(fù)制這個(gè)文件到

// SD卡的目錄(/sdcard/testdb)

if (!(new File(databaseFilename)).exists()) {

// 獲得封裝testDatabase.db文件的InputStream對(duì)象

AssetManager asset=getAssets();

InputStream is=asset.open("db/testDatabase.db");

FileOutputStream fos = new FileOutputStream(databaseFilename);

byte[] buffer = newbyte[8192];

int count = 0;

// 開(kāi)始復(fù)制testDatabase.db文件

while ((count = is.read(buffer)) 0) {

fos.write(buffer, 0, count);

}

fos.close();

is.close();

asset.close();

}

SQLiteDatabase mSQLiteDatabase=openOrCreateDatabase(databaseFilename, Activity.MODE_PRIVATE, null);//有則打開(kāi),沒(méi)有創(chuàng)建

Cursor cur=mSQLiteDatabase.rawQuery("select * from table1", null);

if(cur!=null){

if(cur.moveToFirst()){

do{

int idColumnIndex=cur.getColumnIndex("id");

int numColumnIndex=cur.getColumnIndex("num");

int dataColumnIndex=cur.getColumnIndex("data");

int id=cur.getInt(idColumnIndex);

int num=cur.getInt(numColumnIndex);

String data=cur.getString(dataColumnIndex);

System.out.println("id:"+id+";num:"+num+";data:"+data);

}while(cur.moveToNext());

cur.close();

}

}

mSQLiteDatabase.close();//關(guān)閉數(shù)據(jù)庫(kù)連接

}catch(Exception e){

e.printStackTrace();

}

//deleteDatabase("testDatabase.db");//刪除數(shù)據(jù)庫(kù)

}

});

win10 sqlite3創(chuàng)建的數(shù)據(jù)庫(kù)文件在哪

在VS 中新建一個(gè) UWP 應(yīng)用項(xiàng)目。

在 解決方案資源管理器 窗口中的 引用 節(jié)點(diǎn)上右擊,然后執(zhí)行 管理NuGet程序包菜單。

查找并安裝以下兩個(gè)組件,如下圖所示:

注:

- SQLite.WUP.Native是必須安裝的,它是封裝sqlite操作函數(shù)的本地庫(kù),如果你用的是C++語(yǔ)言來(lái)開(kāi)發(fā),可以直接調(diào)用。如果不安裝這個(gè),在運(yùn)行時(shí)會(huì)報(bào)找不到 sqlite3.dll 的錯(cuò)誤。

- SQLiteWrapperUWP-PCL也應(yīng)該安裝,它對(duì)sqlite的操作接口進(jìn)行進(jìn)一步封裝,并且支持 LINQ 處理。

安裝成功后,在引用列表會(huì)看到相關(guān)條目,如下圖所示:

在代碼中引入以下相關(guān)的命名空間,如下圖所示:

要連接并創(chuàng)建表,要使用 SQLiteConnection 類,在構(gòu)造實(shí)例時(shí),用到兩個(gè)必須的參數(shù)(其他參數(shù)可選):

sqlitePlatform:類型是 ISQLitePlatform 接口,它的實(shí)現(xiàn)類型是 SQLitePlatformWinRT ;

databasePath:數(shù)據(jù)庫(kù)文件的路徑,注意,由于UWP應(yīng)用默認(rèn)允許訪問(wèn)的路徑不多,通常是本地目錄。為了避免發(fā)生異常,可以通過(guò) ApplicationData類來(lái)獲取localFolder實(shí)例,然后從目錄實(shí)例的 Path 屬性得到本地目錄的完整路徑,再傳遞給該參數(shù)。

比如這樣建立連接,如下圖所示:

當(dāng)連接完不再需要時(shí), 可以調(diào)用Dispose方法釋放掉,或者干脆把連接的實(shí)例化放到一個(gè) using 語(yǔ)句塊中。

定義數(shù)據(jù)表模型,比如,我定義了一個(gè) Student 類,它表示一張表,如下圖所示:

注:對(duì)于要用于建表的類,要加上 Table 特性,對(duì)于屬性,其實(shí)是映射到列,要加上Column特性。AutoImcrement特性表示字段的數(shù)值是自增長(zhǎng)列。

創(chuàng)建表。實(shí)例化數(shù)據(jù)庫(kù)連接后,可以調(diào)用連接對(duì)象的 CreateTable 方法直接創(chuàng)建表,如下圖所示:

CreateTable方法如果返回0,表明表創(chuàng)建無(wú)誤。

插入數(shù)據(jù)。實(shí)例化連接對(duì)象后,訪問(wèn) Insert 方法插入單條數(shù)據(jù);InsertAll 方法插入多條數(shù)據(jù);InsertOrReplace插入數(shù)據(jù)并替換已存在的記錄;InsertOrReplaceAll 插入多條數(shù)據(jù),并替換已存在項(xiàng),如下圖所示:

上面代碼先用DeleteAll方法刪除表中的所有記錄,然后插入四條記錄,插入方法返回已成功寫(xiě)入的記錄數(shù)目,上面代碼應(yīng)返回 4 。

查詢數(shù)據(jù)。可以用 LINQ 來(lái)查詢,如下圖所示:

Table 方法返回一個(gè) TableQuery實(shí)例,然后可以用 LINQ語(yǔ)句來(lái)處理。本例中篩選所有數(shù)據(jù),并接照Age屬性升序排列。

如何使用sqlite創(chuàng)建數(shù)據(jù)庫(kù)

方法/步驟

首先下載 Navicat for SQLite,下載后解壓縮。

運(yùn)行navicat.exe 這個(gè)主程序,在左上角點(diǎn)擊連接

在彈出窗口中輸入連接名,選擇類型,然后在下面選擇數(shù)據(jù)庫(kù)文件,或者數(shù)據(jù)庫(kù)保存位置。

這樣就在指定位置創(chuàng)建了一個(gè)Sqlite數(shù)據(jù)庫(kù)文件了


本文名稱:go語(yǔ)言sqlite封裝的簡(jiǎn)單介紹
標(biāo)題路徑:http://weahome.cn/article/ddihdei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部