2013-10-24 138 views
1

我的程序中有更新数据库的代码。数据库更新后,我将标签的文本更改为“上次更新”,然后更新发生的实际时间。这部分工作完美。代码中的标签文本更改但不会更改

当我关闭该程序并重新打开它时,出现了我的问题。我想编码来检查标签中的日期,并且如果标签中的日期小于我想更新数据库的当前日期。但是,当我关闭程序并重新打开它时,文本中的标签不会保留。

这里是我的代码:

Public Sub Screen_Shown(sender As Object, e As EventArgs) Handles Me.Shown 
    Dim Time_of_Update = CDate(Label_Time_of_Update.Text.Split(" "c)(2).Trim()) 
    Debug.WriteLine(Time_of_Update) 
    If Time_of_Update < Today Then 
     Update_Data() 
    Else 
    End If 
End Sub 

Private Sub Update_Data() 
    Update_Daily() 
    Ready_Update_Quarterly_and_Annualy() 

    Dim Time_of_Update = DateTime.Now 
    Label_Time_of_Update.Text = "Last Updated " & Time_of_Update & "" 
End Sub 

我怎样才能解决这个问题?

+1

您需要将LastUpdatedDate保存在某个地方,例如应用程序设置 – Plutonix

+0

@Plutonix我该怎么做? – gromit1

回答

1

转到项目属性设置,并创建一个LastUpdatedDate设置:

  • Name == “LastUpdatedDate” 基本上是一个变量名
  • Type ==日期
  • Scope ==用户(应用范围,使他们只读)
  • Value ==有效日期

这定义了设置名称和数据类型。在代码:

Dim Time_of_Update = DateTime.Now 
Label_Time_of_Update.Text = "Last Updated " & Time_of_Update & "" 

My.Settings.LastUpdatedDate = Time_of_Update 
My.Settings.Save 

下一次运行:

Label_Time_of_Update.Text = My.Settings.LastUpdatedDate 

将其保存为DateTime类型将可以很容易地在代码日期比较,而不是从一个字符串转换回。

+1

您可能想要描述如何在使用此代码之前创建应用程序设置。 – Inisheer