-1

アプリケーションの読み込み時にデータが利用可能かどうかを確認したいtableので、最初のファイルのビューロードで次のコードを使用して、利用可能な場合は他のファイルに移動し、それ以外の場合は同じままにしますが、完全な結果は得られません主に行countが機能していません

 NSString *dbPath;
    NSString *docsDir;
    NSArray *dirPath;
    int count=0;

    dirPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    docsDir=[dirPath objectAtIndex:0];

    dbPath=[[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent:@"TimerDataBaseMain.db"]];


    NSFileManager *fileManager=[NSFileManager defaultManager];

    if([fileManager fileExistsAtPath: dbPath] == YES)
    {
        const char *databsPath=[dbPath UTF8String];


        NSLog(@"from created;");
        if(sqlite3_open(databsPath,&sqlDatabase) == SQLITE_OK)
        {
            const char *query="SELECT COUNT(*) FROM PRJDATA";
            sqlite3_stmt *statement;
            if (sqlite3_prepare_v2(sqlDatabase, query, -1, &statement, NULL)==SQLITE_OK) {
                while(sqlite3_step(statement)==SQLITE_ROW)
                {
                    count++;
                    NSLog(@"from count");
                }
                NSLog(@"from row count");
            }
            sqlite3_finalize(statement);
        }
        sqlite3_close(sqlDatabase);
    }

        if (count>0) {
        ListEventCreated *listObject=[[ListEventCreated alloc] initWithNibName:@"ListEventCreated" bundle:[NSBundle mainBundle]];
        listObject.title=@"List of event";
        NSLog(@"from if condition");
            NSLog(@"%i",count);
        [self.navigationController pushViewController:listObject animated:YES];
        [listObject release];
        listObject=nil;
    }
4

1 に答える 1

0

私は信じています、これは間違っています

SELECT COUNT(*) PRJDATA

これを使うべきです

SELECT COUNT(*) FROM PRJDATA
于 2012-12-29T06:25:58.267 に答える