날짜가 변수 인 sqlite 데이터베이스에 테이블이 있습니다.데이터베이스에서 선택 날짜 = 오늘
-(void) readRecordsFromDatabaseWithPath:(NSString *)filePath {
sqlite3 *database;
if (sqlite3_open([filePath UTF8String], &database) == SQLITE_OK) {
const char *sqlStateMent = "select * from records where date = ?";
sqlite3_stmt *compiledStatement;
NSLog(@"%d", sqlite3_prepare(database, sqlStateMent, -1, &compiledStatement, NULL));
if (sqlite3_prepare_v2(database, sqlStateMent, -1, &compiledStatement, NULL) == SQLITE_OK) {
sqlite3_bind_text(compiledStatement, 1, [_todayDate UTF8String], -1, SQLITE_TRANSIENT);
while (sqlite3_step(compiledStatement) == SQLITE_ROW) {
NSString *recordid = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
NSString *patientid = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
NSString *treatmentid = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
NSString *date = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 3)];
NSString *name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 4)];
NSString *area = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 5)];
NSString *level = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 6)];
NSString *shots = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 7)];
Record *newRecord = [[Record alloc] init];
newRecord.patientid = patientid;
newRecord.recordid = recordid;
newRecord.treatmentid = treatmentid;
newRecord.date = date;
newRecord.name = name;
newRecord.area = area;
newRecord.level = level;
newRecord.shots = shots;
LSAppDelegate *delegate = (LSAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.records addObject:newRecord];
}
}
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
}
그런 다음 마지막으로 함수를 호출 :
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
self.dateFormatter = [[NSDateFormatter alloc] init];
[self.dateFormatter setDateStyle:NSDateFormatterShortStyle];
[self.dateFormatter setTimeStyle:NSDateFormatterNoStyle];
_todayDate = [self.dateFormatter stringFromDate:[NSDate date]];
내가 다음 날짜를 사용하는 SQL 문을 : 나는 일이 코드에 그 날에 무엇을 나에게 알려주는 기능을 설정 한 :
NSString *filePath = [self copyDatabaseToDocuments];
[self readRecordsFromDatabaseWithPath:filePath];
[self.tableView reloadData];
내가 목표 - C에 아주 새로운 오전 일반적으로 사람들이 몇 가지 코드를보고 싶어하지만 내가 코드의 광대 한 금액에 대한 죄송합니다. 내가 나 자신을 수행하는 방법을 발견 한 후 각 날짜 경우에 확인
그리고 무엇이 문제입니까? 어쨌든, 가능한 답은 날짜 값의 형식이 일치하지 않는다는 것입니다. –
날짜가 "오늘"인 모든 레코드를 원하십니까? 그렇다면 내 대답을보십시오. –
@ ollie-cole이 댓글은 사용자의 질문과 관련이 없습니다. 모든 데이터베이스 작업에 [FMDB Framework] (https://github.com/ccgus/fmdb)를 사용하는 것이 좋습니다. 당신은 이것을 참조 할 수 있습니다 [대답] (http://stackoverflow.com/a/17268032/1017893) – icodebuster