2013-02-11 23 views
0

我想顯示上週的記錄&刪除我的iPhone應用程序中的以前的記錄。上週顯示記錄並刪除iPhone中的以前記錄使用Sqlite3數據庫的應用程序

所以我就在一週後的日期時間使用,

//Now 
nowDate = [entryDateFormat stringFromDate:[NSDate date]]; 

//1 week previous 
weekDate = [entryDateFormat stringFromDate:[[NSDate date] dateByAddingTimeInterval: -604800.0]]; 

然後,在執行SQL查詢像

NSString *selectSQL = [NSString stringWithFormat:@"SELECT * FROM tblTest Where Time between \"%@\" and \"%@\"", weekDate, nowDate]; 

查詢,以便獲得價值::

SELECT * FROM tblTest Where Time between "04-02-2013 17:20:36" and "11-02-2013 17:20:36"; 

與刪除之前的記錄相同

Delete FROM tblTest Where Time < "04-02-2013 17:20:36"; 

因此,它僅適用於當前日期的第一個,第二個&第三個。
它不會執行上個月的日期,例如'30 -01-2013'& '31 -01-2013'。

我也試試這個:

Delete FROM tblTest Where Time < DATE('now','-7 days'); 

但沒有結果:(

哪些源碼側的功能,所以我們可以根據這些功能進行操作,並獲得精確值。上週的記錄。?

請幫我的這種情況。

在此先感謝。

回答

0

首先,
在節省時間,

NSTimeInterval currentTimeStamp = [[NSDate date] timeIntervalSince1970]; 
NSNumber *currentTimeStampObj = [NSNumber numberWithDouble: currentTimeStamp]; 

[currentTimeStampObj retain]; 

這個存儲到數據庫作爲新的「輸入時間」字段。

同時顯示數據&刪除以前的數據

//Date Formatter 
NSDateFormatter *entryDateFormat; 

//Now Date & Previous Date 
NSString *nowDate, *weekDate; 

NSNumber *currentNowTimeStamp, *pastWeekDateTimeStamp; 

//Today 
nowDate = [entryDateFormat stringFromDate:[NSDate date]]; 

NSTimeInterval currentTimeStamp = [[NSDate date] timeIntervalSince1970]; 
currentNowTimeStamp = [NSNumber numberWithDouble:currentTimeStamp]; 

[currentNowTimeStamp retain]; 

NSLog(@" Time :::: %@", currentNowTimeStamp); 

//Past Week Date 
weekDate = [entryDateFormat stringFromDate:[[NSDate date] dateByAddingTimeInterval: -604800.0]]; 

currentTimeStamp = [[[NSDate date] dateByAddingTimeInterval: -604800.0] timeIntervalSince1970]; 
pastWeekDateTimeStamp = [NSNumber numberWithDouble: currentTimeStamp]; 

[pastWeekDateTimeStamp retain]; 

NSLog(@" Past Week Time :::: %@", pastWeekDateTimeStamp); 

查詢::

NSString *deleteSQL = [NSString stringWithFormat:@"Delete FROM tblTest Where entry time < \"%@\"", pastWeekDateTimeStamp]; 

結果:: Delete FROM tblTest Where entry time < "1360392911.010868"

NSString *selectSQL = [NSString stringWithFormat:@"SELECT * FROM tblTest Where Time between \"%@\" and \"%@\"", pastWeekDateTimeStamp, currentNowTimeStamp]; 

結果:: SELECT * FROM tblTest Where entry time between "1360392911.010868" and "1360997711.010534"

我得到了我想要的確切解決方案。

乾杯.. !!

快樂編碼..

相關問題