0

我正在开发一个应用程序。其中保存了数据类型为整数、测试和日期的数据库。所以现在我尝试使用以下查询从数据库中获取数据。

  NSString *query = [NSString stringWithFormat:@"SELECT Sno,name FROM school where Date='%@'",date];.

日期包含 NSDate 格式的数据。当我运行这个时,我没有得到单行数据。那么如何使用该日期值检索数据。(日期列数据格式为 MM-dd-yy(01-22 -12))。

4

2 回答 2

0

你需要一个 NSDateFormatter。

然后将日期格式化程序设置为数据库日期的格式。 此页面应该可以帮助您找到这种格式。

然后,对于您的查询,使用您的日期格式化程序 stringFromDate 方法,如下所示:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM-mm-yy"];
NSString *query = [NSString stringWithFormat:@"SELECT Sno,name FROM school where Date='%@'",[df stringFromDate:date]];
于 2013-02-24T06:49:30.627 回答
0

这工作正常。

1.创建表

FMDatabase *db = [FMDatabase databaseWithPath:[Utility getDatabasePath]];

[db open];

[db executeUpdate:@"create table if not exists UserTbl(eventname text,eventdate date)"];

FMResultSet *results = [db executeQuery:@"SELECT * FROM UserTbl"];

while([results next])
{
     ReminderObject *Reminder = [[ReminderObject alloc] init];
     Reminder.EventTitleString = [results stringForColumn:@"eventname"];
     Reminder.EventDateString = [results stringForColumn:@"eventdate"];
     [ReminderListArray addObject:Reminder];
}
[db close];

2.插入

FMDatabase *db = [FMDatabase databaseWithPath:[Utility getDatabasePath]];

[db open];
NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"dd-MM-yyyy"];
NSString *dateString=[dateFormat stringFromDate:today];
dateFormat.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
dateFormat.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];

NSLog(@".........DateString...%@",dateString);
//NSString *query = [NSString stringWithFormat: @"INSERT INTO user (edited) VALUES (\"%@\")", dateString];
BOOL success =  [db executeUpdate:@"insert into UserTbl(eventname,eventdate) values(?,?);",
                 Reminder.EventTitleString,dateString, nil];
[db close];
于 2016-06-10T12:38:58.487 回答