我正在制作一个财务应用程序,我遇到了一些问题,如固定付款,工资,银行存款等经常性资金......我试图通过比较当前付款当天和某天来添加这些付款。代码是这样的:
If Date.Now.Day = GetPayDate(date) then
//code here //
这是一个启动事件并且它可以工作,但问题是如果用户当天没有打开应用程序,应用程序将忽略并且不会添加任何内容。
我正在使用ADO.net和sql数据库。它是本地客户端上没有实时数据的应用程序。
为了正常工作,用户无需登录,但必须运行应用程序,因此我尝试通过在其上添加自动启动功能来修复它。但它不是一种选择,因为用户可能几天都不会使用计算机。
有没有其他方法可以解决这个问题?我只需要一些关于它的解决方案或想法,所以即使用户在2或3个月内没有使用该应用程序,它仍会在登录后计算所有内容。
答案 0 :(得分:0)
听起来你真的需要一个在启动时运行的Windows服务或计划任务。 Windows服务是一种C#/ VB.Net应用程序,它设计为在后台运行,没有UI。 Windows任务计划程序可以定期启动程序。
有关Windows服务的详细信息,请参阅https://msdn.microsoft.com/en-us/library/zt39148a%28v=vs.110%29.aspx。有关计划任务的详细信息,请参阅http://www.7tutorials.com/task-scheduler。有关哪个更好的讨论,请参阅Which is better to use for a recurring job: Service or Scheduled Task?
或者您可以将当前日期与> =付款日期进行比较,如果您不介意延迟付款几天。