0

私は1つのアプリケーションを開発しています.Integer、test、およびdateのデータ型でデータベースを保存しました.だから今、私は以下のクエリを使用してデータベースからデータを取得しようとしています.

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

日付にはNSDate形式のデータが含まれています.これを実行すると、データの単一行が取得されませんでした.その日付値を使用してデータを取得する方法.(日付列のデータ形式はMM-dd-yy(01-22)です-12))。

4

2 に答える 2

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 に答える
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 に答える