我正在开发Windows应用程序。
在该应用程序中,我将数据保存在数据库中。
在数据网格视图中检索数据。
为此,我使用以下代码:
var expenselist = db.SP_TodaysExpense().Where(a => a.Date <= DateTime.Now.Date).ToList();
DgvTodaysExpense.DataSource = expenselist;
上面的代码显示了数据库中的所有数据。但是,我想显示仅在打开应用程序后添加的数据。
那我怎么能这样做呢?
提前谢谢。
答案 0 :(得分:2)
您需要在应用设置中保存日期时间值(右键单击Project =&gt; Propeties =&gt;设置):
注意:使用Scope =&gt;用户以便能够更新值。
然后在Program.cs主方法中添加:
Properties.Settings.Default.LastOpenedTime = DateTime.Now;
Properties.Settings.Default.Save();
并将您的查询更改为:
DateTime queryTime = Properties.Settings.Default.LastOpenedTime ;
var expenselist = db.SP_TodaysExpense().Where(a => a.Date >= queryTime ).ToList();
DgvTodaysExpense.DataSource = expenselist;
有关应用设置的更多信息:请阅读Here
答案 1 :(得分:2)
OP:我想显示仅在打开应用程序后添加的数据。
根据您的要求,您需要获得应用程序的开始时间。在设置中存储开始时间是没有意义的(虽然它可以工作)。还有更好的选择:
选项1 - 使用StartTime
的Current Process获取应用的启动时间:
var start = System.Diagnostics.Process.GetCurrentProcess().StartTime;
选项2 - 将StartTime存储在Program
类的静态属性中:
public static DateTime StartTime { get; private set; } /* Usage: Program.StartTime */
[STAThread]
static void Main()
{
StartTime = DateTime.Now;
//...
}