как выбрать строковый атрибут из таблицы в цели c - PullRequest
0 голосов
/ 11 июня 2011

У меня есть метод, который должен возвращать объект PatientDetails, когда я вставляю уникальный nric в качестве параметра. Это не работает Однако, когда я изменил этот метод, чтобы принимать 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;

Ответы [ 2 ]

1 голос
/ 11 июня 2011

%s обозначает стандартную строку C.Чтобы использовать NSString объекты в качестве аргумента, необходимо использовать обозначение объекта %@.

WHERE ic = '%@'

0 голосов
/ 11 июня 2011

Да, спецификатор формата для строк Objective-C %@. Так и должно быть,

NSString *query = [NSString stringWithFormat:@"SELECT ic, district, age, race, referralSource, DMRelatedAdmin, postalCode FROM patientInfo WHERE ic = %@" , nric];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...