2012-08-22 64 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