详解iPhone连接Sqlite数据库 实例操作

移动开发 iOS
本文介绍的是详解iPhone连接Sqlite数据库 实例操作,数据库的操作很重要,先来看本文内容。

详解iPhone连接Sqlite数据库 实例操作是本文要介绍的内容,主要是以代码实现,来讲述了一些iPhone连接Sqlite数据库的代码,来看详细内容。

相信在N多应用中要涉及数据库操作

  1. sqlite3 *database;  
  2. NSArray *pathsNSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  3. NSString *documentsDirectory = [paths objectAtIndex:0];  
  4. NSString *strPaths =  [documentsDirectory stringByAppendingPathComponent:kFilename];  
  5. if (sqlite3_open([strPaths UTF8String], &database) != SQLITE_OK) {  
  6.         sqlite3_close(database);  
  7.         NSAssert(0, @"Failed to open databse");  
  8.     }  
  9. NSString *createSQL = @"CREATE TABLE IF NOT EXISTS FIELDS (ROW INTEGER PRIMARY KEY, FIELD_DATA TEXT)";  
  10. if(sqlite3_exec(database, [createSQL UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK){  
  11.         sqlite3_close(database);  
  12.         NSAssert1(1, @"Error create table :%s", errorMsg);  
  13.     }  
  14. NSString *query = @"SELECT ROW ,FIELD_DATA FROM FIELDS ORDER BY ROW";  
  15. sqlite3_stmt *statement;  
  16.  
  17. if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK){  
  18.         while (sqlite3_step(statement) == SQLITE_ROW) {  
  19.             int row = sqlite3_column_int(statement, 0);  
  20.             char *rowData = (char *)sqlite3_column_text(statement, 1);  
  21.               
  22.             NSString *fieldName = [[NSString alloc] initWithFormat:@"field%d", row];  
  23.             NSString *fieldValue = [[NSString alloc] initWithUTF8String:rowData];  
  24.               
  25.             UITextField *field = [self valueForKey:fieldName];  
  26.             field.text = fieldValue;  
  27.             [fieldName release];  
  28.             //[fieldName release];  
  29.             [fieldValue release];  
  30.         }  
  31.           
  32.         sqlite3_finalize (statement);  
  33.     } 

sqllite存在沙盒内,所以打开的时候不需要name和password,但由于字符的格式不用,所以需要通过,[nsString, UTF8String]来转换。

  1. sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil),这是执行sql语句的命令。statement记录状态。  
  2.  
  3. sqlite3_column_*(statement, 0);返回字段值  
  4.  
  5. sqlite3_finalize (statement);结束退出 

小结:详解iPhone连接Sqlite数据库 实例操作的内容介绍完了,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-07-07 16:42:38

iPhone Sqlite3 数据库

2011-07-05 10:16:16

Qt 数据库 SQLite

2011-07-21 17:29:42

iPhone Sqlite 数据库

2011-07-27 10:16:41

iPhone SQLite 数据库

2011-07-05 14:46:34

2011-08-02 16:16:08

iPhone开发 SQLite 数据库

2017-07-12 09:20:42

SQLite数据库移植

2011-07-20 12:34:49

SQLite数据库约束

2011-07-04 17:18:23

Qt SQLite 数据库

2009-12-31 11:10:01

2011-07-01 14:06:57

Qt sqlite

2010-03-04 15:31:44

Python SQLI

2010-11-29 11:47:26

连接Sybase数据库

2011-06-21 15:11:04

QT 数据库

2010-04-01 09:45:38

NoSQL

2011-05-19 13:25:14

Oracle数据库

2011-07-12 15:22:04

SQLite数据库

2024-03-07 13:02:57

PythonSQLite数据库

2024-04-03 00:06:03

2011-07-20 13:40:00

SQLite数据库查询数据
点赞
收藏

51CTO技术栈公众号