当前位置: 传客网 > sqlite 的一些操作记录

sqlite 的一些操作记录

2016-12-06 作者:墨冲smile

记录一下以前做过的sqlite的一些操作,留作复习。

+(void)createSqlTable{

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    NSFileManager *filemanger=[NSFileManager defaultManager];

    if([filemanger fileExistsAtPath:dataBasePath]==NO){

        const char *dppath=[dataBasePath UTF8String];

        if(sqlite3_open(dppath,&dataBase)==SQLITE_OK){

            char *errmsg;

            const ;

            

            if(sqlite3_exec(dataBase, createSql, NULL, &errmsg)!=SQLITE_OK){

                NSLog();

                

            }else{

                NSLog();

            }

            createSql="CREATE TABLE IF NOT EXISTS indexs (id varchar(100) NOT NULL PRIMARY KEY,data varchar(2000) NOT NULL) ";

            if(sqlite3_exec(dataBase, createSql, NULL, &errmsg)!=SQLITE_OK){

                NSLog();

                

            }else{

                NSLog();

            }

            createSql="CREATE TABLE IF NOT EXISTS Attention (ID varchar(100) NOT NULL PRIMARY KEY,NAME varchar(100) NOT NULL)";

            if(sqlite3_exec(dataBase, createSql, NULL, &errmsg)!=SQLITE_OK){

                NSLog();

                

            }else{

                NSLog();

            }

            createSql="CREATE TABLE IF NOT EXISTS AnalysisData (id varchar(100) NOT NULL PRIMARY KEY,name varchar(100) NOT NULL,data varchar(2000) NOT NULL) ";

            if(sqlite3_exec(dataBase, createSql, NULL, &errmsg)!=SQLITE_OK){

                NSLog();

                

            }else{

                NSLog();

            }

            

        }

        

     }else{

        NSLog();

  

    }

    



}

+(void)insertData:(NSString *)url :(NSString *)data{

    nil){

        return;

    }

    sqlite3_stmt *statement;

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *insertSQL = [NSString stringWithFormat:,url,data];

        const char *insert_stmt = [insertSQL UTF8String];

        char *errorMsg;

        if (sqlite3_exec(dataBase, insert_stmt, NULL, &errorMsg)==SQLITE_OK) {

            NSLog();

        }else{

            NSLog();

            NSLog(,errorMsg);

            sqlite3_free(errorMsg);

        }

        if(sqlite3_close(dataBase)==SQLITE_OK){

            NSLog();

        }

    }else {

        sqlite3_close(dataBase);

    }

    

}

+(NSString *)selectData:(NSString *)url{

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    

    sqlite3_stmt *statement;

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *querySQL = [NSString stringWithFormat:,url];

        const char *querystatement = [querySQL UTF8String];

        if (sqlite3_prepare_v2(dataBase, querystatement, -NULL)==SQLITE_OK) {

            if (sqlite3_step(statement)==SQLITE_ROW) {

                //NSLog(@"%s,,,,%s,,,,,,,,,,,",sqlite3_column_text(statement, 0),sqlite3_column_text(statement, 1));

                NSString *data = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 1)];

                //NSLog(@"%@",data );

                sqlite3_finalize(statement);

                sqlite3_close(dataBase);

                return data;

            }

            else {

                NSLog(,sqlite3_step(statement));

                

            }

            

        }

        if(sqlite3_finalize(statement)==SQLITE_OK){

            NSLog();

        }

       sqlite3_close(dataBase);

    }else {

        sqlite3_close(dataBase);

        return nil;

    }

    

    

    

    

}

+(BOOL)getData:(NSString *)url{

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    

    sqlite3_stmt *statement;

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *querySQL = [NSString stringWithFormat:,url];

        const char *querystatement = [querySQL UTF8String];

        if (sqlite3_prepare_v2(dataBase, querystatement, -NULL)==SQLITE_OK) {

            int i=sqlite3_step(statement);

            if (i==SQLITE_ROW) {

                //NSString *data = [[NSString alloc] initWithUTF8String:(const char *)sqlite3_column_text(statement, 2)];

                sqlite3_finalize(statement);

                sqlite3_close(dataBase);

                YES;

            }else{

                NSLog();

                NO;

            }

           // sqlite3_finalize(statement);

        }

        if(sqlite3_finalize(statement)==SQLITE_OK){

            NSLog();

        }

        sqlite3_close(dataBase);

    }else {

        sqlite3_close(dataBase);

        return NO;

    }

    

    

}

+(void)deleteData:(NSString *) tableName{

    NSArray *dirPaths;

    sqlite3 *dataBase;

    NSString *docsDir;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    sqlite3_stmt *statement;

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *querySQL = [NSString stringWithFormat: from %@",tableName];

        const char *querystatement = [querySQL UTF8String];

        if (sqlite3_prepare_v2(dataBase, querystatement, -NULL)==SQLITE_OK) {

            if(sqlite3_step(statement)==SQLITE_DONE){

                NSLog();

            }else{

                

                NSLog();

            }

            

        }

        

    }else{

        sqlite3_close(dataBase);

        return;

    }

    if(sqlite3_finalize(statement)==SQLITE_OK){

        NSLog();

    }

    sqlite3_close(dataBase);

    

}

//增加我的关注的项

+(void)addAttentionIndexWithId:(NSString *)iid andName:(NSString *)name{

    nil){

        return ;

    }

    sqlite3_stmt *statement;

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *insertSQL = [NSString stringWithFormat:,iid,name];

        const char *insert_stmt = [insertSQL UTF8String];

        char *errorMsg;

        if (sqlite3_exec(dataBase, insert_stmt, NULL, &errorMsg)==SQLITE_OK) {

            NSLog();

        }else{

            NSLog();

            NSLog(,errorMsg);

            sqlite3_free(errorMsg);

        }

        if(sqlite3_close(dataBase)==SQLITE_OK){

            NSLog();

        }

    }else {

        sqlite3_close(dataBase);

    }

   

}

//取消我的关注项

//删除主题的分析

//删除数据

+(void)deleteDataWithTable:(NSString *) tableName andId:(NSString *)key{

    NSArray *dirPaths;

    sqlite3 *dataBase;

    NSString *docsDir;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    sqlite3_stmt *statement;

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *querySQL = [NSString stringWithFormat: from %@ where id='%@'",tableName,key];

        const char *querystatement = [querySQL UTF8String];

        if (sqlite3_prepare_v2(dataBase, querystatement, -NULL)==SQLITE_OK) {

            if(sqlite3_step(statement)==SQLITE_DONE){

                NSLog();

            }else{

                

                NSLog();

            }

            

        }

        

    }else{

        sqlite3_close(dataBase);

        return;

    }

    if(sqlite3_finalize(statement)==SQLITE_OK){

        NSLog();

    }

    sqlite3_close(dataBase);

    

}

//查询指标数据

+(NSMutableArray *)selectAllIndex{

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    

    sqlite3_stmt *statement;

    NSMutableArray *indexs=[[NSMutableArray alloc]init];

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

        NSString *querySQL = [NSString stringWithFormat:];

        const char *querystatement = [querySQL UTF8String];

        if (sqlite3_prepare_v2(dataBase, querystatement, -NULL)==SQLITE_OK) {

            while (sqlite3_step(statement)==SQLITE_ROW) {

                //NSLog(@"%s,,,,%s,,,,,,,,,,,",sqlite3_column_text(statement, 0),sqlite3_column_text(statement, 1));

                NSString *data = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 1)];

                [indexs addObject:data];

            }

            sqlite3_finalize(statement);

            sqlite3_close(dataBase);

            return indexs;

        }

        if(sqlite3_finalize(statement)==SQLITE_OK){

            NSLog();

        }

        sqlite3_close(dataBase);

    }else {

        sqlite3_close(dataBase);

        return nil;

    }

    

}

//查询主题分析数据


+(NSString *)selectDataWithID:(NSString *)indexId andTableName:(NSString *)tableName{

    NSString *docsDir;

    NSArray *dirPaths;

    sqlite3 *dataBase;

    dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPaths objectAtIndex:0];

    NSString * dataBasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:]];

    char *dbpath = [dataBasePath UTF8String];

    

    sqlite3_stmt *statement;

    

    if (sqlite3_open(dbpath, &dataBase)==SQLITE_OK) {

相关推荐

  • 鼠标操作记录器1.2绿色版下载,高速下载

    鼠标操作记录器1.2绿色版软件标签:鼠标操作记录器软件授权:绿色版更新时间:2015-04-0915:32:06软件类型:国产软件软件大小:773KB软件语言:简体中文 应用平台:/XP/Vista/win7/win8鼠标操作记录器1.2绿

  • lvs优化操作记录

    上篇lvs优化记录了taobao关于lvs优化的一部分内容,以下仅记录个人操作过程重新编译内核,我的当前版本为centos6.4,默认:[root@localhostmodprobe.d]#ipvsadm-lIPVirtualServerv

  • 如何查看电脑历史操作记录?

    电脑操作历史记录位置一般在以下地方:C:\DocumentsandSettings\用户名\RecentC:\WINDOWS\Prefetch\C:\DocumentsandSettings\用户名\LocalSettings\Histor

  • Postgresql 数据库的一些操作记录

    -bash-3.2$cat-ndbbackup.sh1#!/bin/sh2#currentdate=`date+%Y%m%d`;3tomorrow=`date-d"+1day"+%Y%m%d`;4threemonthago=`date-d"

  • RHEL4.5下安装和删除oracle10.2.0.4详细操作记录

    提示:#后跟命令表示以root用户操作,$后跟命令表示以oracle用户操作。首先到oracle网站下载安装包和patch包。安装包:http://www.oracle.com/database/index.html下载10201_data

  • 一个android google map 的界面~摸爬滚打跌跌撞撞。。我得记录一些下来不然到时候又忘

    1、假设你之前已经下载了android,找到那个目录,比如C:\android-sdk-windows,然后运行SDKmanager.(因为我之前一直用eclipse->window->androidSDKandAVDmanag

  • 2016/3/10螺纹1605和豆粕1605操作记录

    螺纹1605昨天1手赔了57个点,但是我坚信现在的趋势是向上的,昨天没有平掉了,行情也挺给力,曲曲折折还是上来了,甚至还冲上了新高,当又一次回调到前天的入场点附近时,我认为他还会再起来,于是在前天入场点稍高一些的位置又加多了一单,结果证明大

  • 操作记录(20160317)

    今天大盘:很多人以为今天会大跌,原因是两会结束了,主力也没必要维稳了,谁知大盘意外地强!特别是创业板,竟大涨5%以上,太强了。量能在五千多亿。我的个股表现一般,可惜正泰买早了。不过有赚就行了。建议那些胆小的或是没多少钱的人今年远离股市!总体

  • 教你炒股票50:操作中的一些细节问题

    51前都说股票了,51后再恢复正常,继续解〈论语〉还有诸如419、体液之类的东西。今天说点实际的问题,因为,什么理论,最终都要落实到操作。而操作中一些细节问题,是必须要搞清楚的。(股市盘面解读,板块个股分析,立即关注“52投资”微信号,缠中

  • 记录一下 从struts2到脱jsp站查询数据库的一些问题

    漏洞网站的多数是采用action或者do参数的站可以这样去批量查这些站建议搜索国外的谷歌高级搜索选择区域韩国site:krfiletype:action还可以自己继续构造一下找到一个站之后下载地址http://pan.baidu.com/s

  • 关于SFC的一些记录(一)--IETF SFC 构架

    前期做了一个SFC的demo,将SFC部署在一个具有分布式交换网络的RACK上,当时仓促赶工,总觉得不过瘾,现在正好有时间把关于SFC的东西从头到尾梳理一遍。SFC是一个比较新领域,现阶段很多东西在IETF还是草案,处于正在讨论向前不断演进

  • 重新学习python,记录一些python的小小用法还有正则表达式之类的

    pythoncookbook第2版(是对于python2.x版本的朋友的,如果是python3.x的朋友,可以看pythoncookbook3网上已经有中文版了,地址是:http://www.oschina.net/news/69525)学

  • 记录一些面试中常问的题目

    ​1.堆和栈的区别?答:stack的空间由操作系统自动分配/释放,heap上的空间需要手动分配/释放栈的空间有限,堆是很大的自由存储区。程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用参数的传递也在栈上进行

  • 学习笔记50。教你炒股票50:操作中的一些细节问题(2007-04-27 08:42:51)

    就是MACD的计算方法决定了,1分钟和30分钟MACD之间并没有实质的区别,只是计算的周期不同而已,而相应的计算是线性的,只是稍微灵敏与迟钝的区别,没有太大的区别。问题的关键是,MACD只是力度比较的辅助,因此,是先定好比较哪两段走势,然后

  • ☆必须掌握的word操作中的一些技巧☆

    1、问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚―

  • 企业邮局企业邮箱域名解析MX、SPF、DKIM记录详解 邮箱解析 MX与mail

    企业邮局企业邮箱域名解析MX、SPF、DKIM记录详解邮件服务器的DNS设置DNS记录,需要你到你的域名托管商那里进行设置或者你自己管理DNS服务器。不少域名托管商不支持txt记录或者不支持DKIM记录,所以你就无法使用SPF和DKIM的功

  • 万年船旗舰店官网_万年船三合一后视镜行车记录仪1080P 高清双镜头电子测速狗WNC95

    您搜索的商品【万年船三合一后视镜行车记录仪1080P高清双镜头电子测速狗WNC95】是来自于淘宝天猫店铺万年船旗舰店经营的商品,其万年船旗舰店主要经营的商品有:行车记录仪电子狗,记录仪,行车记录仪高清,电子狗,行车记录仪双镜头,万年船行车记

  • 湖南兴禹不良记录开心 湖南兴禹不良记录笑话

    湖南兴禹不良记录开心湖南兴禹不良记录笑话,B超室和等候室之间只隔了一张薄湖南兴禹不良记录薄的帘子,聒噪的女同事们在头痛欲裂的我旁边叽叽喳喳地嚷嚷个没完的,我按住了湖南兴禹不良记录额角,忍住胸口阵阵上涌的恶心,听到自己名字的时候总算松了口气。

  • 湖南兴禹不良记录第一 湖南兴禹不良记录真实没有

    湖南兴禹不良记录第一湖南兴禹不良记录真实没有,翔阳两人也正是从那个时候开始跟随自己的工作室进入暗黑世界的,由于最初没能找到合作工会,反湖南兴禹不良记录而让他们在那一时期赚到了不少黑心钱,再加上两年来经过的无数磨练煎熬,总算是摸透了暗黑世界的

  • 湖南兴禹不良记录好看 湖南兴禹不良记录惊喜

    湖南兴禹不良记录好看,湖南兴禹不良记录惊喜。暗黑世界的出现总算达到了当年制定的全球联网制度要求,成为了第一个尝试这种制度的新兴网游,靠着过硬的技术手段为基础,湖南兴禹不良记录暗黑世界几乎能支持全球人口同时上线,不卡机、不掉线、无需等待,消息

返回
顶部