`
百合不是茶
  • 浏览: 356119 次
社区版块
存档分类
最新评论

sqlite3的简单使用

阅读更多

Android中也有sqlite3,主要是纪录一些基础的语法,ios提供封装的类,不需要下面这样操作

 

1,创建数据库

#pragma mark-打开数据库

-(BOOL)openDataBase{
    //1,存放路径,存放在当前应用的沙盒中 document
    
    //    NSArray *arrayPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    //
    //    NSString *documentPath= [arrayPath objectAtIndex:0];//document路径
    
    NSString *documentPath= [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
    
    //数据库路径
    NSString *sqlPath=[documentPath  stringByAppendingPathComponent:@"applicationData.db"];
    
    //打开数据库
    //sqlPath.UTF8String转换成c字符串 ,sqlite3的指针
    
    int result=sqlite3_open(sqlPath.UTF8String,&db);
    
    if (result==SQLITE_OK) {
        
         [self showDialogError:@"数据库打开" andContent:@"成功"];
        return true;
    }else{
        
        sqlite3_close(db);
        return false;
        
    }
    

}

 

2,创建数据库表

#pragma mark-创建数据库表

-(BOOL)createTable:(NSMutableDictionary*) createTableRowParams{
    
    char *sql;
    //创建sql语句
    
    if ([createTableRowParams count]>0) {
        
        
    }else{
    
    sql= "create table if not exists UCS(id integer primary key,loginTime text,page text,pageCount integer);";
    
    }
    
    char *error=nil;
    //执行sql语句
    sqlite3_exec(db, sql, nil, nil, &error);
    
    
    if (error==nil) {
        NSLog(@"创建表成功。。");
    }else{
    
        NSLog(@"创建表失败。。");
    }
    
    return true;
}

 

 

3,插入数据:

////插入数据
-(void)insertTableData:(NSArray*)arrayData{
    NSDate * senddate=[NSDate date];
    NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
    
   [dateformatter setDateFormat:@"YYYYMMddHHmmss"];
    NSString * morelocationString=[dateformatter stringFromDate:senddate];

    char *error=nil;
    
    for(int n=0;n<10;n++){
    
//    NSString *sql=[[NSString alloc]initWithFormat:@"insert into UCS(loginTime,page) values(?,?)",morelocationString,@"baihe"];
//        char *sql1 = @"insert into UCS(loginTime,page) values(?,?)";
//        
//    sqlite3_exec(db, sql1, NULL, NULL, &error);
//        
//    }
        
        
        char *sql="insert into UCS(loginTime,page,pageCount) values(?,?,?)";
        
        sqlite3_stmt *stmt=nil;
        
        if (sqlite3_prepare_v2(db, sql, -1, &stmt, NULL)==SQLITE_OK) {
            
            sqlite3_bind_text(stmt, 1, "loginTimedata", -1, NULL);
            sqlite3_bind_text(stmt, 2, "pagedata", -1, NULL);
            sqlite3_bind_int(stmt, 3, 100);
            
        }
        
        
        if (sqlite3_step(stmt)!=SQLITE_DONE) {
            
            NSLog(@"插入数据失败。");

        }else{
         NSLog(@"插入数据成功");
        
        }
        
        
  sqlite3_finalize(stmt);//释放
    
    }

}

 

查询数据:

//查询
-(void)selectTableData{
    
//    NSString *sql=@"select * from UCS";
    char *sql="select * from UCS;";
    
    
    //
    sqlite3_stmt *ppStmt;
    
    
    //单步执行语句
    if (sqlite3_prepare_v2(db, sql, -1, &ppStmt, NULL) == SQLITE_OK) {
        while (sqlite3_step(ppStmt)==SQLITE_ROW) {
            
            int id5=sqlite3_column_int(ppStmt, 0);
            
            char *cc=(char *)sqlite3_column_text(ppStmt, 2);
            int id6=sqlite3_column_int(ppStmt, 3);

            NSString *loginTime=[NSString stringWithUTF8String:cc];

            NSLog(@"id=%d,loginTime=%@ %d",id5,loginTime,id6);
        }
    }
    

    
    sqlite3_finalize(ppStmt);//释放

}

 

删除和更新类似

0
1
分享到:
评论

相关推荐

    sqlite3简单使用的详解.docx

    SQLite3 简单使用详解 SQLite3 是一个轻量级的关系数据库管理系统,它提供了一个简单的 API 来访问和操作数据库。下面我们将对 SQLite3 的使用进行详解。 SQLite3 返回值的意思 在 SQLite3 中,每个 API 函数的...

    sqlite3 简易DEMO

    SQLite3的简易DEMO是为开发者提供一个快速了解和使用SQLite3的示例,通过这个DEMO,你可以学习如何在C语言环境中进行数据库操作。 在开始之前,你需要从指定网址&lt;http://www.sqlite.org/cintro.html&gt;下载最新版本的...

    Delphi使用ASqlite3 连接SQLite上例子

    ASqlite3是一款专门为Delphi开发者设计的SQLite数据库接口组件,它使得在Delphi程序中与SQLite数据库交互变得简单。 首先,我们需要了解SQLite数据库的基本概念。SQLite是一种嵌入式关系型数据库,无需单独的服务器...

    sqlite3api使用

    SQLite3 API 使用详解 SQLite3 是一款轻量级的、开源的嵌入式数据库系统,广泛应用于各种跨平台的应用程序中。它的API提供了一系列的C语言函数,使得开发者可以直接在程序中进行数据库的操作,而无需依赖外部的...

    sqlite3.h、sqlite3.lib、sqlite3.dll

    在开发过程中,使用`sqlite3.h`、`sqlite3.lib`和`sqlite3.dll`可以轻松地将SQLite集成到你的项目中,为你的应用程序提供可靠的数据库支持。记得在使用过程中注意版本兼容性、线程安全和资源管理,以确保程序的稳定...

    SQlite.zip 使用Qt Creator编译sqlite3

    解压后,你会看到包括sqlite3.c和sqlite3.h在内的核心源代码文件。 步骤2:创建Qt Creator项目 在Qt Creator中,选择“文件”-&gt;“新建文件或项目”,然后选择“空项目”并输入项目名称,如SQLiteProject。在项目...

    sqlite3.lib sqlite3.h sqlite3.dll sqlite3.exe

    `sqlite3.exe`是SQLite3的命令行工具,允许用户通过简单的命令行界面直接与SQLite3数据库交互。它可以用来创建数据库、执行SQL语句、查看结果以及进行其他管理任务。这对于数据库的调试、测试和学习SQLite3语法非常...

    SQLite3 使用实例

    例如,Python 有 sqlite3 模块,提供了一个简单的接口来操作 SQLite 数据库。其他语言如 Java、C#、JavaScript 也有相应的库或模块。理解这些语言的 API 和如何与 SQLite3 交互是使用 SQLite3 的关键。 总的来说,...

    sqlite3简单入门使用

    ios sqlite简单使用,创建,插入的一些简单操作。

    Sqlite3编译及使用示例代码

    SQLite3是一种轻量级的、开源的、自包含的数据库引擎,它不需要单独...SQLite3虽然简单,但功能强大,是开发中不可或缺的数据存储工具。通过这个示例代码,你可以快速掌握SQLite3的基本操作,并将其应用于实际项目中。

    SQLite3C++

    SQLite3是一款轻量级的开源数据库管理系统,它以C语言编写,可以嵌入...综上所述,SQLite3与C++的结合使得在C++应用中集成数据库变得简单而高效。通过学习和理解这些知识点,开发者可以构建出可靠的数据驱动的C++程序。

    sqlite3 驱动 for odbc

    "SQLite3 驱动 for ODBC" 指的是一个中间件,它使得SQLite3数据库能够与使用ODBC接口的应用程序相兼容。这样,开发者可以利用熟悉的ODBC API来操作SQLite3数据库,而无需了解SQLite3的特定细节。这种驱动程序的使用...

    SQLite3简单demo

    本教程将通过一个简单的Delphi 2007开发的SQLite3数据库示例,来介绍如何执行基本的数据库操作,包括添加(Add)、删除(Delete)、更新(Update)和查询(Query)。 1. **SQLite3简介** SQLite3是一个自包含、无...

    Sqlite3和管理工具

    这意味着,当你在使用SQLite3时,数据库文件实际上就是一个普通的磁盘文件,可以随应用程序一起复制和移动。 SQLite3的核心特性包括: 1. **事务性**:SQLite3支持ACID(原子性、一致性、隔离性、持久性)事务,...

    delphi7实例sqlite3简单应用

    在Delphi 7中,使用TSQLConnection组件来建立与SQLite3数据库的连接。在组件面板中拖一个TSQLConnection到表单上,然后在属性编辑器中设置其DriverName为"SQLite3"。接下来,配置ConnectionString属性,例如:...

    Delphi使用SQLite3内存数据库

    以下是一个简单的示例,展示如何在Delphi中使用SQLite3 Simple包装类创建内存数据库、插入数据并备份到本地: ```delphi uses Sqlite3, Sqlite3Simple; var DB: TSqliteDatabase; Query: TSqliteQuery; begin ...

    Sqlite3 C++ 简单单例数据库操作类封装

    总结来说,"Sqlite3 C++ 简单单例数据库操作类封装"是一个实现C++与SQLite3数据库交互的工具,通过单例模式保证了数据库连接的唯一性和高效性。这种封装简化了对SQLite3的使用,让开发者能够更专注于业务逻辑,而...

    sqlite3+图形界面+汉化包jar包中文文档JDBC连接sqlite

    SQLite3是一个自包含、无服务器、零配置、事务性的SQL数据库引擎,它在许多应用中被广泛使用,特别是那些对数据库需求简单、快速响应且需要跨平台的场景。SQLite3支持标准的SQL语法,并且具有高度的可移植性,可以在...

    sqlite3lib.rar

    在使用这些文件时,开发者需要根据自己的操作系统和项目需求选择合适的库文件,并确保正确地链接了sqlite3库。同时,理解SQLite的API和SQL语法对于有效地利用这个数据库系统至关重要。例如,`sqlite3_open()`函数...

Global site tag (gtag.js) - Google Analytics