<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評(píng)論 :: 0 Trackbacks

    //database operation

    打開(kāi)數(shù)據(jù)庫(kù) 

     

    -(BOOL) opendatabase{

     

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"mydb.sql"];

    NSFileManager *fileManager = [NSFileManager defaultManager];

    BOOL find = [fileManager fileExistsAtPath:path];

    //找到數(shù)據(jù)庫(kù)文件mydb.sql

    if (find) {

             NSLog(@"Database file have already existed.");

             if(sqlite3_open([path UTF8String], &database_) != SQLITE_OK) {

             sqlite3_close(database_);

             NSLog(@"Error: open database file.");

             return NO;

            }

             return YES;

    }

    if(sqlite3_open([path UTF8String], &database_) == SQLITE_OK) {

    //bFirstCreate_ = YES;

            [self createChannelsTable:database_];//在后面實(shí)現(xiàn)函數(shù)createChannelsTable

             return YES;

    } else {

            sqlite3_close(database_);

            NSLog(@"Error: open database file.");

            return NO;

    }

    return NO;

    }

     

    創(chuàng)建表

     

    - (BOOL) createChannelsTable:(sqlite3*)db{

    char *sql = "CREATE TABLE reports (id integer primary key,stime  text,stitle text,scal   text,sruntime text)";

    sqlite3_stmt *statement;

    if(sqlite3_prepare_v2(db, sql, -1, &statement, nil) != SQLITE_OK) {

             NSLog(@"Error: failed to prepare statement:create reports table");

             return NO;

    }

    int success = sqlite3_step(statement);

    sqlite3_finalize(statement);

    if ( success != SQLITE_DONE) {

            NSLog(@"Error: failed to dehydrate:CREATE TABLE reports");

            return NO;

    }

    NSLog(@"Create table 'reports' successed.");

    return YES;

    }

     

    插入表 

     

    - (BOOL)insertOneChannel:(NSString*)stime mytitle:(NSString*)stitle mycal:(NSString*)scal myruntime:(NSString*)sruntime

    {

     

    sqlite3_stmt *statement;

    static char *sql = "INSERT INTO reports (id,stime,stitle,scal,sruntime) VALUES(NULL,?,?,?,?)";

    //問(wèn)號(hào)的個(gè)數(shù)要和(cid,title,imageData,imageLen)里面字段的個(gè)數(shù)匹配,代表未知的值,將在下面將值和字段關(guān)聯(lián)。

    int success = sqlite3_prepare_v2(database_, sql, -1, &statement, NULL);

    if (success != SQLITE_OK) {

            NSLog(@"Error: failed to insert:channels");

             return NO;

    }

    //這里的數(shù)字1234代表第幾個(gè)問(wèn)號(hào)

    //sqlite3_bind_text(statement, 1, stime, -1, SQLITE_TRANSIENT);

    char *p = [stime cStringUsingEncoding:1];

    sqlite3_bind_text(statement, 1, [stime cStringUsingEncoding:1], -1, SQLITE_TRANSIENT);

    sqlite3_bind_text(statement, 2, [stitle cStringUsingEncoding:1], -1, SQLITE_TRANSIENT);

    sqlite3_bind_text(statement, 3, [scal cStringUsingEncoding:1], -1, SQLITE_TRANSIENT);

    sqlite3_bind_text(statement, 4, [sruntime cStringUsingEncoding:1], -1, SQLITE_TRANSIENT);

     

    success = sqlite3_step(statement);

    sqlite3_finalize(statement);

    if (success == SQLITE_ERROR) {

             NSLog(@"Error: failed to insert into the database with message.");

            return NO;

    }

    NSLog(@"Insert One Channel#############:id = _");

    return YES;

    }


    查詢表

    - (void) getChannels:(NSMutableArray*)fChannels{

    sqlite3_stmt *statement = nil;

    char *sql = "SELECT * FROM reports";

    if (sqlite3_prepare_v2(database_, sql, -1, &statement, NULL) != SQLITE_OK) {

            NSLog(@"Error: failed to prepare statement with message:get channels.");

    }

    //查詢結(jié)果集中一條一條的遍歷所有的記錄,這里的數(shù)字對(duì)應(yīng)的是列值。

    while (sqlite3_step(statement) == SQLITE_ROW) {

           //char* cid = (char*)sqlite3_column_text(statement, 1);

           char* stime = (char*)sqlite3_column_text(statement, 1);

           char* stitle =(char*)sqlite3_column_text(statement, 2);

           char* scal = (char*)sqlite3_column_text(statement, 3);

           char* sruntime= (char*)sqlite3_column_text(statement, 4);

     

           //NSString *tmp = [NSString stringWithCString:stitle encoding:1];

            myreportitem* ri = [[myreportitem alloc] init];

           ri.mytime = [NSString stringWithCString:stime encoding:1];

            ri.mytitle = [NSString stringWithCString:stitle encoding:1];

            ri.mycal = [NSString stringWithCString:scal encoding:1];

           ri.myruntime = [NSString stringWithCString:sruntime encoding:1];

     

           [fChannels addObject:ri];

           [ri release];

    }

    sqlite3_finalize(statement);

    }

    刪除記錄

    - (void)doClearReport: {

        

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"mydb.sql"];

    NSFileManager *fileManager = [NSFileManager defaultManager];

    BOOL find = [fileManager fileExistsAtPath:path];

    //找到數(shù)據(jù)庫(kù)文件mydb.sql

    if (find) {

            NSLog(@"Database file have already existed.");

             if(sqlite3_open([path UTF8String], &database_) != SQLITE_OK) {

            sqlite3_close(database_);

            NSLog(@"Error: open database file.");

            return NO;

          }

          char *sql = "delete from reports";

           sqlite3_stmt *statement;

           if(sqlite3_prepare_v2(database_, sql, -1, &statement, nil) != SQLITE_OK) {

            NSLog(@"Error: failed to prepare statement:create reports table");

           return NO;

         }

         int success = sqlite3_step(statement);

          sqlite3_finalize(statement);

         if ( success != SQLITE_DONE) {

          NSLog(@"Error: failed to dehydrate:delete TABLE reports");

          return NO;

          }

          NSLog(@"Create table 'reports' successed.");

     

         sqlite3_close(database_);

     

       }

     

    }

    posted on 2010-09-28 11:09 seal 閱讀(325) 評(píng)論(0)  編輯  收藏 所屬分類: iPhone
    主站蜘蛛池模板: 夫妻免费无码V看片| 国产亚洲色视频在线| 日韩免费码中文在线观看| 亚洲人成网77777色在线播放| 最近新韩国日本免费观看| 亚洲午夜成人精品无码色欲| 亚洲国产精品一区二区三区久久| 特级精品毛片免费观看| 亚洲综合丁香婷婷六月香| 精品国产亚洲男女在线线电影| 亚洲黄色片免费看| 三年片在线观看免费观看大全中国| 亚洲an天堂an在线观看| 日韩一区二区在线免费观看| 无码av免费一区二区三区试看| 亚洲精品欧美综合四区| 亚洲国产精品VA在线看黑人 | 免费无码又爽又刺激高潮的视频| 精品免费久久久久国产一区| 亚洲免费观看在线视频| 亚洲女同成av人片在线观看| 日韩免费电影在线观看| 3344免费播放观看视频 | 亚洲免费人成视频观看| 一级毛片免费不卡| 亚洲www77777| 色噜噜综合亚洲av中文无码| 波多野结衣一区二区免费视频| 希望影院高清免费观看视频| 免费观看一区二区三区| 色屁屁在线观看视频免费| 亚洲免费网站在线观看| 亚洲电影一区二区| 国产亚洲欧洲Aⅴ综合一区| 日本不卡视频免费| 最近2019中文字幕免费看最新| 97免费人妻在线视频| a在线免费观看视频| 一个人免费播放在线视频看片| 精品无码专区亚洲| 亚洲精品天堂无码中文字幕|