Как заставить симулятор xcode показывать данные в sqlite?

Я делаю словарь, но я не получил результат в моем симуляторе.

#define FIRSTINIT 0
- (id)init{
    self = [super init];
    if (self!=nil) {
#if FIRSTINIT
        [self createDB];
        [self createTable];
        [self insertRecordWithEN:@"cc" CN:@"我" Comment:@"點"];

#endif
    }
    return self;
}
- (BOOL)createDB{
    int ret = sqlite3_open([self getFilePath ], &pdb);//open
    if (SQLITE_OK == ret) {//success
        sqlite3_close(pdb);//close
        return YES;
    }else{
        return NO;//fail
    }
}
- (NSMutableArray*)query:(NSString *)str{
    NSMutableArray* arr =[[NSMutableArray alloc]init];//save result
    if (SQLITE_OK != sqlite3_open([self getFilePath ], &pdb)){
            return NO;
    }
    char* sql = "select * from dictionary where en like ? or cn like ? or comment like ?;";//search
    sqlite3_stmt* stmt;
    if (sqlite3_prepare_v2(pdb, sql, -1, &stmt, nil)==SQLITE_OK) {//prepare
        sqlite3_bind_text(stmt, 1,[[NSString stringWithFormat:@"%%%@%%",str]UTF8String], -1, NULL);
        sqlite3_bind_text(stmt, 2, [[NSString stringWithFormat:@"%%%@%%",str]UTF8String], -1, NULL);
        sqlite3_bind_text(stmt, 3, [[NSString stringWithFormat:@"%%%@%%",str]UTF8String], -1, NULL);
    }else{
        return nil;
    }
    while( SQLITE_ROW == sqlite3_step(stmt) ){//execute
        char* _en = (char*)sqlite3_column_text(stmt, 1);
        char* _cn = (char*)sqlite3_column_text(stmt, 2);
        char* _comment = (char*)sqlite3_column_text(stmt, 3);

        NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];//single
        [dict setObject:[NSString stringWithCString:_en encoding:NSUTF8StringEncoding] forKey:@"kEN"];
        [dict setObject:[NSString stringWithCString:_cn encoding:NSUTF8StringEncoding] forKey:@"kCN"];
        [dict setObject:[NSString stringWithCString:_comment encoding:NSUTF8StringEncoding] forKey:@"kCOMMENT"];
        [arr addObject:dict];//result
           }
    sqlite3_finalize(stmt);
    sqlite3_close(pdb);
    return [arr autorelease];//return
}

Я не могу найти никаких предупреждений, и симуляция успешно работает.
Я делаю словарь, но я не получил результат в моем симуляторе.
После моих поисков результата нет.

0 ответов

Другие вопросы по тегам