发布于 2014-10-30 09:02:21 | 243 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的SQLite教程,程序狗速度看过来!

SQLite轻量级关系型数据库

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。


本文为大家讲解的是SQLite创建表并添加数据 的简单示例代码,感兴趣的同学参考下。

- (void)viewDidLoad {  
    [super viewDidLoad];  
    //创建表  
    [self creatTable];  
    //插入数据  
    [self insertTable];  
}  
 
// -----------------------创建一个表--------------------  
- (void)creatTable  
{  
// 1.创建一个数据库对象  
    sqlite3 *sqlite3 = nil;  
      
// 2.数据库的路径  
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"];  
      
// 3.打开数据库 (通过指定路径打开数据库文件,如果没有就创建)  
    int result = sqlite3_open([path UTF8String], &sqlite3);  
    if (result != SQLITE_OK) {  
        NSLog(@"数据库打开失败!");  
        return;  
    }  
      
// 4.创建sql语句  
    NSString *sql = @"CREATE TABLE Students (id integer PRIMARY KEY,name text)";  
      
// 5.执行SQL语句  
    charchar *error = NULL;  
    result = sqlite3_exec(sqlite3, [sql UTF8String], NULL, NULL, &error);  
    if (result != SQLITE_OK) {  
        NSLog(@"执行sql语句失败!");  
        // 6.关闭数据库  
        sqlite3_close(sqlite3);  
        return;  
    }  
// 6.关闭数据库  
    sqlite3_close(sqlite3);  
}  
 
// -------------------------插入数据------------------------  
- (void)insertTable  
{  
// 1.创建一个数据库对象  
    sqlite3 *sqlite3 = nil;  
      
// 2.数据库的路径  
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"];  
      
// 3.打开数据库 (通过指定路径打开数据库文件,如果没有就创建)  
    int result = sqlite3_open([path UTF8String], &sqlite3);  
    if (result != SQLITE_OK) {  
        NSLog(@"数据库打开失败!");  
        return;  
    }  
      
// 4.创建sql语句  
    // insert into students(id,name) values('123456','李斯')  
    NSString *sql = @"insert into students(id,name) values(?,?)";  
      
// 5.编译sql语句  
    // 创建一个数据句柄对象  
    sqlite3_stmt *stmt = nil;  
    result = sqlite3_prepare_v2(sqlite3, [sql UTF8String], -1, &stmt, nil);  
    if (result != SQLITE_OK) {  
        NSLog(@"编译失败");  
        // 关闭数据库  
        sqlite3_close(sqlite3);  
        return;  
    }  
      
// 6.绑定数据到数据句柄里面  
    sqlite3_bind_int(stmt, 1, 123457);  
    sqlite3_bind_text(stmt, 2, "张三", -1, nil);  
      
// 7.执行数据句柄的操作  
    result = sqlite3_step(stmt);  
    if (result == SQLITE_ERROR || result == SQLITE_MISUSE) {  
        NSLog(@"插入失败");  
        // 关闭数据句柄  
        sqlite3_finalize(stmt);  
        // 关闭数据库  
        sqlite3_close(sqlite3);  
        return ;  
    }  
      
// 8.执行成功  
    NSLog(@"插入成功");  
    // 关闭数据句柄  
    sqlite3_finalize(stmt);  
    // 关闭数据库  
    sqlite3_close(sqlite3);  
     
      
}



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务