在我的應用程序中,我使用FMDB
來查詢我的sqlite
數據庫。我將變量從一個視圖傳遞到另一個視圖,最後所有選擇變量都用選定的值填充。在結果頁面上,我可以在標籤中顯示這些值。但是,當我將它們傳遞給FMDB
來查詢數據庫時,我沒有收到任何返回的值。它崩潰並說數組是0,我知道它不是。將變量傳遞給FMDB的問題
下面的代碼示例。
- (NSMutableArray *) getChoices
{
NSMutableArray *choices = [[NSMutableArray alloc] init];
FMDatabase *db = [FMDatabase databaseWithPath:[Utility getDatabasePath]];
[db open];
NSString *capsChoiceOne = @"CHOICE 1";
NSString *capsChoiceTwo = @"CHOICE 2";
NSString *capsChoiceThree = @"CHOICE 3";
NSString *capsChoiceFour = @"CHOICE 4";
FMResultSet *results = [db executeQueryWithFormat:@"SELECT * FROM allitems WHERE choice1=%@ AND choice2=%@ AND choice3=%@ AND choice4=%@"
,capsChoiceOne,capsChoiceTwo,capsChoiceThree,capsChoiceFour];
while([results next])
{
Choices *choice = [[Choices alloc] init];
choice.result = [results stringForColumn:@"result"];
[choices addObject:choice];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Your Result"
message:choice.result
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
[db close];
return choices;
現在上面的代碼將帶回警報視圖中的結果。但是,當我將其中一個值更改爲變量時,它會崩潰,並說我的數組中有0個結果。我已經將下面的代碼放在了我如何插入變量中。
NSString *capsChoiceOne = self.choiceOneSelected.uppercaseString;
self.choiceOneSelected.uppercaseString
包含與硬編碼版本相同但不起作用。
任何幫助將不勝感激。
謝謝
一方面你將成果轉化的選擇,然後返回pipcodes。 –
對不起,我以爲我已經改變了這個例子的所有代碼。謝謝你,我已經相應地修改了這個帖子。 – Flyingearl