Sqlite3 语句解析

Sqlite3 语句解析,第1张

自己看示例吧,解释的很清楚了。

void GetTable()

{

sqlite3 * db

int result

char * errmsg = NULL

char **dbResult//是 char ** 类型,两个*号

int nRow, nColumn

int i , j

int index

result = sqlite3_open( “c:\\Dcg_database.db”, &db )

if( result != SQLITE_OK )

{

//数据库打开失败

return -1

}

//数据库 *** 作代码

//假设前面已经创建了 MyTable_1 表

//开始查询,传入的 dbResult 已经是 char **,这里又加了一个 &取地址符,传递进去的就成了 char ***

result = sqlite3_get_table( db, “select * from MyTable_1”, &dbResult, &nRow, &nColumn, &errmsg )

if( SQLITE_OK == result )

{

//查询成功

index = nColumn//前面说过 dbResult 前面第一行数据是字段名称,从 nColumn 索引开始才是真正的数据

printf( “查到%d条记录\n”, nRow )

for( i = 0i <nRow i )

{

printf( “第 %d 条记录\n”, i 1 )

for( j = 0 j <nColumnj )

{

printf( “字段名:%s ?>字段值:%s\n”, dbResult[j], dbResult [index] )

index// dbResult 的字段值是连续的,从第0索引到第 nColumn - 1索引都是字段名称,从第 nColumn 索引开始,后面都是字段值,它把一个二维的表(传统的行列表示法)用一个扁平的形式来表示

}

printf( “-------\n” )

}

}

//到这里,不论数据库查询是否成功,都释放 char** 查询结果,使用 sqlite 提供的功能来释放

sqlite3_free_table( dbResult )

//关闭数据库

sqlite3_close( db )

return 0

}

}*/

Android中对于SQLite3数据库的 *** 作如下:

1、建立数据库

SQLiteDatabasemDatabase

mDatabase

=

openOrCreateDatabase(

"my_sqlite_database.db”,

SQLiteDatabase.CREATE_IF_NECESSARY,

null

)

2、配置属性

mDatabase.setVersion(1)

mDatabase.setLocale(Locate.getDefault())

mDatabase.setLockingEnable(true)

3、建表

CREATETABLE

tb_test

(

idINTEGER

PRIMARYKEY

AUTOINCREMENT,

firstnameTEXT,

lastnameTEXT

)

4、数据库 *** 作

insert(Peoplepeople)用来添加一条数据

queryAllData()用来获取全部数据

queryOneData(long

id)根据id获取一条数据

deleteAllData()用来删除全部数据

deleteOneData(long

id)根据id删除一条数据

updateOneData(long

id

,

People

people)根据id更新一条数据


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9819161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存