2012-08-22 137 views
0

我使用的功能描述爲HERE來訪問sqlite數據庫。 我有問題與功能:目標C:從數據庫讀取數據時斷言失敗

- (NSArray的*)發現:(的NSString *)字段是:(的NSString *)表,其中:(的NSString *)的條件。

該函數適用於條件爲零且條件爲沒有任何格式或方法的字符串的情況;即它在下列任一情況下運行良好:

NSArray * result = [[SQLiteManager singleton] find:@「field1,field2」from:@「tableName」where:nil];我們可以通過下面的例子來說明這個問題:我們可以通過下面的例子來說明一下這個問題:NSArray * result = [[SQLiteManager singleton] find:@「field1,field2」from:@「tableName」其中:@「field2 = value」];

但是,我有一個條件,應該從UITextField讀取。例如

的NSArray *結果= [[的SQLiteManager單]發現:@ 「FIELD1,FIELD2」 從:@ 「表名」 其中:[的NSString stringWithFormat:@ 「字段3 =%@」,[textFieldName文本]] ]。

不幸的是,代碼休息,當我嘗試這給我一個斷言失敗錯誤。爲什麼?任何幫助是極大的讚賞。

回答

1

至少你可能想把單引號放在你的%@附近。像這樣:

NSArray *result = [[SQLiteManager singleton] find:@"field1,field2" 
from:@"tableName" where:[NSString stringWithFormat:@"field3='%@'", 
[textFieldName text]]]; 

但除此之外,你可能還想逃避字符串。

+0

非常感謝。這樣做:) – jpo