2015-07-03 62 views
0

我一直在使用SQLiteAsyncConnection进行所有数据库操作,最近我才知道它不允许表之间的关联。现在我正在移动代码以使用支持扩展的SQLite.Net扩展。将日期时间数据插入表格时,我发现了一个奇怪的问题。它完全改变了插入时的日期时间。SQLite.Net扩展在Windows Phone 8.1运行时项目上的数据插入错误

App.db2.Insert(new FrequentlyAssignedShifts() 
       { 
        ShiftStart = Convert.ToDateTime(btnShiftStart.Content.ToString()), 
        ShiftEnd = Convert.ToDateTime(btnShiftEnd.Content.ToString()), 
       }); 

这就是连接建立的方式。

 string databasePath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Scheduler.sqlite"); 
    public static SQLiteConnection db2; 
    var platform = new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(); 
    db2 = new SQLiteConnection(platform, databasePath); 

我检查直到使用断点的最后一点,是否正确插入数据。这一切似乎都很好,它从按钮控件获取正确的日期,但是当它通过这部分代码时,日期值发生变化。 “ShiftStart & ShiftEnd”变量是表中的日期时间变量。有人可以请指教。

感谢您阅读这篇文章。

回答

0

也许为时已晚,但据我所知,时间被保存为数据库中的记号,所以不是使用“Date”或“Timestamp”或其他任何东西,而是使用bigint,因此字段将保存时间作为使用UTC的刻度,一旦您从数据库中检索到值,使用DateTime中的函数“ToLocalTime()”,并使用vioala!

相关问题