189 8069 5689

go语言sqlite封装的简单介绍

sqlite3pp开源吗

sqlite3pp开源。

成都创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元沈阳做网站,已为上家服务,为沈阳各地企业和个人服务,联系电话:13518219792

SQLitePP是一个C++封装的SQLite组件,开源、免费。目的是使用面向对象的方式来简化SQLite的使用,具有面向对象的访问方式。

sqlite3pp该库对SQLite3API使用C++类进行包装,支持几乎所有SQLite3功能(打开数据库、查询、执行命令、事物等)。

如何在项目中读取外部建立的sqlite数据库

采用将项目中的sqlite文件拷到android内存卡上的固定位置,先判断位置上是否存在sqlite文件,不存在则复制文件。 sqlite可放在res的raw目录下,亦可放在assets下,放在assets下,可新建其他层次目录,本例选择assets

1.首先,添加sdcard权限在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目录中存在,创建这个目录

if (!dir.exists())

dir.mkdir();

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

// test.db文件,则从asset\db目录中复制这个文件到

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

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

// 获得封装testDatabase.db文件的InputStream对象

AssetManager asset=getAssets();

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

FileOutputStream fos = new FileOutputStream(databaseFilename);

byte[] buffer = newbyte[8192];

int count = 0;

// 开始复制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);//有则打开,没有创建

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();//关闭数据库连接

}catch(Exception e){

e.printStackTrace();

}

//deleteDatabase("testDatabase.db");//删除数据库

}

});

win10 sqlite3创建的数据库文件在哪

在VS 中新建一个 UWP 应用项目。

在 解决方案资源管理器 窗口中的 引用 节点上右击,然后执行 管理NuGet程序包菜单。

查找并安装以下两个组件,如下图所示:

注:

- SQLite.WUP.Native是必须安装的,它是封装sqlite操作函数的本地库,如果你用的是C++语言来开发,可以直接调用。如果不安装这个,在运行时会报找不到 sqlite3.dll 的错误。

- SQLiteWrapperUWP-PCL也应该安装,它对sqlite的操作接口进行进一步封装,并且支持 LINQ 处理。

安装成功后,在引用列表会看到相关条目,如下图所示:

在代码中引入以下相关的命名空间,如下图所示:

要连接并创建表,要使用 SQLiteConnection 类,在构造实例时,用到两个必须的参数(其他参数可选):

sqlitePlatform:类型是 ISQLitePlatform 接口,它的实现类型是 SQLitePlatformWinRT ;

databasePath:数据库文件的路径,注意,由于UWP应用默认允许访问的路径不多,通常是本地目录。为了避免发生异常,可以通过 ApplicationData类来获取localFolder实例,然后从目录实例的 Path 属性得到本地目录的完整路径,再传递给该参数。

比如这样建立连接,如下图所示:

当连接完不再需要时, 可以调用Dispose方法释放掉,或者干脆把连接的实例化放到一个 using 语句块中。

定义数据表模型,比如,我定义了一个 Student 类,它表示一张表,如下图所示:

注:对于要用于建表的类,要加上 Table 特性,对于属性,其实是映射到列,要加上Column特性。AutoImcrement特性表示字段的数值是自增长列。

创建表。实例化数据库连接后,可以调用连接对象的 CreateTable 方法直接创建表,如下图所示:

CreateTable方法如果返回0,表明表创建无误。

插入数据。实例化连接对象后,访问 Insert 方法插入单条数据;InsertAll 方法插入多条数据;InsertOrReplace插入数据并替换已存在的记录;InsertOrReplaceAll 插入多条数据,并替换已存在项,如下图所示:

上面代码先用DeleteAll方法删除表中的所有记录,然后插入四条记录,插入方法返回已成功写入的记录数目,上面代码应返回 4 。

查询数据。可以用 LINQ 来查询,如下图所示:

Table 方法返回一个 TableQuery实例,然后可以用 LINQ语句来处理。本例中筛选所有数据,并接照Age属性升序排列。

如何使用sqlite创建数据库

方法/步骤

首先下载 Navicat for SQLite,下载后解压缩。

运行navicat.exe 这个主程序,在左上角点击连接

在弹出窗口中输入连接名,选择类型,然后在下面选择数据库文件,或者数据库保存位置。

这样就在指定位置创建了一个Sqlite数据库文件了


分享文章:go语言sqlite封装的简单介绍
本文地址:http://jkwzsj.com/article/ddihdei.html

其他资讯