<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
    主站蜘蛛池模板: 亚洲人成网站观看在线播放| 久久久亚洲精品蜜桃臀| 四虎在线播放免费永久视频| 国产91在线|亚洲| 99久久99久久免费精品小说| 亚洲国产精品一区二区成人片国内| 免费大片av手机看片| 亚洲午夜未满十八勿入网站2| 99久久久精品免费观看国产| 亚洲区视频在线观看| 日韩吃奶摸下AA片免费观看| 自拍偷自拍亚洲精品偷一| 亚洲va中文字幕无码久久| 免费无码又爽又刺激网站直播| 亚洲人成影院午夜网站| 国产gv天堂亚洲国产gv刚刚碰| 欧洲精品成人免费视频在线观看| 一区二区三区免费高清视频| 亚洲AV无码久久久久网站蜜桃 | 免费观看激色视频网站(性色) | 精品久久久久国产免费| 在线观看免费黄网站| 久久精品国产精品亚洲毛片| 免费无码黄十八禁网站在线观看| 一级**爱片免费视频| 国内精品久久久久影院亚洲| 亚洲AⅤ视频一区二区三区| 国产在线精品观看免费观看| 亚洲AV第一页国产精品| 亚洲国产a级视频| 97无码免费人妻超级碰碰碰碰| 久久久久久国产精品免费免费男同 | 国产在线观看免费视频播放器| 日韩精品视频在线观看免费| 亚洲国产精品yw在线观看| 国产成人无码综合亚洲日韩| 亚洲精品A在线观看| 国产免费观看a大片的网站| 无码中文在线二区免费| 8x成人永久免费视频| 亚洲a∨无码一区二区|