0

我正在使用这里描述的函数来访问 sqlite 数据库。我有这个功能的问题:

-(NSArray *)find:(NSString *)field from:(NSString *)table where:(NSString *)condition。

该函数适用于条件为 nil 且条件为没有任何格式或方法的字符串时;即当它是以下任何一种时效果很好

NSArray *result = [[SQLiteManager singleton] find:@"field1,field2" from:@"tableName" where:nil];

NSArray *result = [[SQLiteManager singleton] find:@"field1,field2" from:@"tableName" where:@"field2=value"];

但是,我有一个应该从 UITextField 读取的条件。例如

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

不幸的是,当我尝试这个给我一个断言失败错误时,代码会中断。有什么理由吗?任何帮助是极大的赞赏。

4

1 回答 1

1

至少你可能想在你的%@. 像这样:

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

但除此之外,您可能还想转义字符串。

于 2012-08-22T19:10:27.063 回答