2013-01-20 23 views
0

我最新的Xcode和sqlite3工作了4天,現在我有點瘋了,因爲我只是令人毛骨悚然的行爲。Xcode sqlite3似乎沒有什麼工作正常

我這樣做:

NSString *selectWPIDQuery = [NSString stringWithFormat:@"SELECT ID FROM WORKOUTPLANS WHERE NAME = '%s';", [[aWorkoutPlan name] UTF8String]]; 
//NSLog(@"%@", [aWorkoutPlan name]); 
const char *select_wp_id_query = [selectWPIDQuery UTF8String]; 

if(sqlite3_open([dbPathString UTF8String], &workoutPlansDB) == SQLITE_OK) { 

    int index = sqlite3_exec(workoutPlansDB, select_wp_id_query, NULL, NULL, &error); 
    NSLog(@"Der Index %d", index); 
} 

指數這裏是0,但0犯規存在。如果我使用firefox插件sqlite管理器(完全相同的查詢)執行此查詢,它會爲我提供索引1,並且索引1是correkt。

爲什麼xcode的地獄sqlite3給了我一個0 ???那是不正確的。

回答

2

您錯誤地使用了sqlite3_exec。它返回一個結果代碼,而不是索引。結果代碼0是SQLITE_OK,而結果代碼1是SQLITE_ERROR

查看sqlite3_exec documentation。您必須提供回調以獲取查詢結果,或者使用通用的sqlite3_prepare_v2()sqlite3_step()sqlite3_finalize() API。

+0

我必須使用所有3嗎? – user1882812