2013-10-24 67 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