何度も実行した後、アプリケーションからコードを削除するにはどうすればよいでしょうか? 例を挙げましょう。現在、私はこのアプリケーションを持っており、SomeSoftware
毎月データのバックアップを取ります。それが行うことは、クライアントのマシンへのインストール時(展開時)に、インストールされた日付に関するエントリをデータベースに作成し、実行ごとに次のようなものをチェックすることです
var con = InitializeDB.StartConnection(); // start the connection
var cmd = con.CreateCommand();
var cmdOther = con.CreateCommand();
// check if its the first run of the software
#region onlyUsefulForFirstTime
cmd.CommandText = "SELECT Count(*) FROM Misc WHERE ItemName='FirstRun'"
if (Int32.Parse(cmd.ExecuteScalar().ToString()) == 0)
// it is the first run, add the entry
cmd.CommandText = "INSERT INTO Misc(ItemName, Val) VALUES('FirstRun'," + DateTime.Now + ")";
else
#endregion
// it is not the first run
cmd.CommandText = "SELECT Val FROM Misc WHERE ItemName='LastRun'";
cmdOther.CommandText = "SELECT Val FROM Misc WHERE ItemName='FirstRun'";
// now after this, we compare the value of LastRun and the date in FirstRun, if it's more than a month, we take the steps to backup the database
現在何が起こっているかというと、アプリケーションを起動するたびに region 内でコードを実行していますが、これはonlyUsefulForFirstTime
初めて実行する場合にのみ役立ちます。クライアントがこのアプリケーションを 1 日に 10 回実行するとしたら、このコードを実行し続けるのは無駄です。値を追加するために、最初の実行かどうかをどこかで確認する必要があることはわかっていますが、その後はただの無駄です。それで、私がこのコードを削除する方法はありますか?正確に削除するのではなく、コードをonlyUsefulForFirstTime
再度実行しないようにする方法などはありますか?あなたはアイデアを得る!
ps : 他のバックアップ方法や他のバックアップ方法について質問しているわけではありません。他にも方法があることは知っていますが、それは問題ではありません。