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

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

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

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

sqlite3 *database;  
NSArray *pathsNSSearchPathForDirectoriesInDomains(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);  
    } 
  • 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.

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

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

小结:详解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

2011-05-19 13:25:14

Oracle数据库

2010-04-01 09:45:38

NoSQL

2010-11-29 11:47:26

连接Sybase数据库

2011-06-21 15:11:04

QT 数据库

2024-04-03 00:06:03

2011-07-12 15:22:04

SQLite数据库

2024-03-07 13:02:57

PythonSQLite数据库

2011-07-06 16:25:10

iPhone 程序 调用
点赞
收藏

51CTO技术栈公众号