原帖地址 http://www.cocoachina.com/bbs/read.php?tid-24840.html
相信在N多应用中要涉及数据库操作,下面这段连接 iPhone 自带的 sqllite 数据库的代码由 CocoaChina 会员 “mahui” 分享,原帖地址 http://www.cocoachina.com/bbs/read.php?tid-24840.html
sqlite3 *database;
NSArray *paths= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *strPaths = [documentsDirectory stringByAppendingPathComponent:kFilename];
if (sqlite3_open([strPaths UTF8String], &database) != SQLITE_OK) {
sqlite3_close(database);
NSAssert(0, @"Failed to open databse");
}
NSString *createSQL = @"CREATE TABLE IF NOT EXISTS FIELDS (ROW INTEGER PRIMARY KEY, FIELD_DATA TEXT)";
if(sqlite3_exec(database, [createSQL UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK){
sqlite3_close(database);
NSAssert1(1, @"Error create table :%s", errorMsg);
}
NSString *query = @"SELECT ROW ,FIELD_DATA FROM FIELDS ORDER BY ROW";
sqlite3_stmt *statement;
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK){
while (sqlite3_step(statement) == SQLITE_ROW) {
int row = sqlite3_column_int(statement, 0);
char *rowData = (char *)sqlite3_column_text(statement, 1);
NSString *fieldName = [[NSString alloc] initWithFormat:@"field%d", row];
NSString *fieldValue = [[NSString alloc] initWithUTF8String:rowData];
UITextField *field = [self valueForKey:fieldName];
field.text = fieldValue;
[fieldName release];
//[fieldName release];
[fieldValue release];
}
sqlite3_finalize (statement);
}
sqllite存在沙盒内,所以打开的时候不需要name和password,但由于字符的格式不用,所以需要通过,[nsString, UTF8String]来转换。
sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil),这是执行sql语句的命令。statement记录状态。
sqlite3_column_*(statement, 0);返回字段值
sqlite3_finalize (statement);结束退出
分享到:
相关推荐
Android操作SQLite数据库的代码例子。用于演示SQLite数据表创建,以及对数据进行增、删、改、查的功能。
这是一个使用C#开发的Sqlite数据库创建、操作的源码工程,关于Sqlite的所有操作已经单独创建了专门的跨平台【.NETCore3.1】类库包含相应的帮助类,可以直接生成后拿到任何项目中直接使用,高效简单,省去了从头开发...
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。 本文件中包含了sqlite数据库的全部源代码。
示例代码打开前,先【右键->以管理员身份】运行【register.bat】文件注册控件。这个DLL控件功能全面,操作方便。
pb9通过odbc连接sqlite数据库,包括odbc驱动、pb自动创建odbc连接的代码、数据窗口查询表中的数据。另包括两个sqlite数据库管理工具
ASP连接sqlite数据库代码 案例 在IIS环境下可直接运行! 今天公司网站需要用的ASP连接SQLite数据库,网上找了好久才找到的代码,整理了一下 分享给大家,希望对大家有用
可以实现html5直接连接SQLITE数据库{内附SQLITE可视化软件},利用浏览器打开html文件加javascript 直接对sqlite数据库进行插入 修改 删除 查询等功能,非常适合轻量化的系统设计,同时对于认识html5及本地数据库有...
连接SQLite数据库源码.zip
tcp_sqlite TCP操作sqlite数据库源代码
C#读取SQLite数据库源代码(包含sqlite.dll此dll是64位和32位通用版本)
c语言调用sqlite数据库中表的内容,非常实用
SQlite数据库工具 供比较两个SQLite数据库所用。
Java连接本地SQLite数据库,访问SQLite数据。
SQLite数据库加密解密小工具,只用于.Net中使用SQLite时的加密和加密
Android连接sqlite数据库进行增删改查和事务操作
springboot+SQLite3学习演示代码,SQLite数据库使用演示代码 软件架构 springboot 2.1.7 SQLite3 JPA spring-boot-starter-rest
iphone开发SQLite数据库使用 简单方便
SQLite数据库学习的小例子,很适合初学者,里面有详细的注释!
php读取SQLite数据库, php读取SQLite数据库,php读取SQLite数据库
Android实验报告Sqlite数据库操作.pdf