sqlite 的一些操作记录

记录一下以前做过的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) {

var sogou_ad_id=900721; var sogou_ad_height=180; var sogou_ad_width=800;

相关推荐

  • 鼠标操作记录器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)学

你的评论

就没有什么想说的吗?

最新博客

关于我们 移动版

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X