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

どうすればこれを修正できますか?

4

1 に答える 1

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、文字列から変換し直すのではなく、コードでの日付比較が簡単になります。

于 2013-10-24T13:41:40.013 に答える