Iphone 如何从objective c中的表中选择字符串属性

Iphone 如何从objective c中的表中选择字符串属性,iphone,objective-c,cocoa-touch,sqlite,Iphone,Objective C,Cocoa Touch,Sqlite,我有一个方法,当我插入一个唯一的nric作为参数时,应该返回一个PatientDetails对象。这不管用。但是,当我将此方法改为接受int age而不是NSString*nric时,它起了作用 我的语法“WHERE ic=%s”是否有问题,因为它看起来很复杂。我在谷歌上搜索了2天,没有找到解决方案 请帮忙,因为我是新手 - (PatientDetails *)patientDetails:(NSString *)nric { PatientDetails *retval = nil;

我有一个方法,当我插入一个唯一的
nric
作为参数时,应该返回一个
PatientDetails
对象。这不管用。但是,当我将此方法改为接受
int age
而不是
NSString*nric
时,它起了作用

我的语法
“WHERE ic=%s”
是否有问题,因为它看起来很复杂。我在谷歌上搜索了2天,没有找到解决方案

请帮忙,因为我是新手

- (PatientDetails *)patientDetails:(NSString *)nric {
    PatientDetails *retval = nil;
    NSString *query = [NSString stringWithFormat:@"SELECT ic, district, age, race, referralSource, DMRelatedAdmin, postalCode FROM patientInfo WHERE ic = %s" , nric];
    sqlite3_stmt *statement;

是,Objective-C字符串的格式说明符是
%@
。所以应该是,

NSString *query = [NSString stringWithFormat:@"SELECT ic, district, age, race, referralSource, DMRelatedAdmin, postalCode FROM patientInfo WHERE ic = %@" , nric];

%s
表示标准C字符串。要使用
NSString
对象作为参数,需要使用对象表示法
%@


其中ic='%@'

请将代码放入代码环境中。请提供更多代码。在哪里使用查询?声明从何而来?嘿,迪帕克。。非常感谢你的帮助!!但是我想我需要Simon的这个ic='%@..哦,是的,忘记了那个关于格式说明符的引用。你应该选择西蒙的答案作为正确答案。在他答案的左边打勾。哇。。。非常感谢你!你帮我节省了很多时间!谢谢!