我们如何在多次执行后从应用程序中删除一段代码?让我举个例子,现在,我有这个应用程序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
,尽管它仅对第一次运行有用。如果客户一天要运行这个应用程序 10 次,那么继续让这个代码执行将是一种完全的浪费。我知道,如果它第一次运行,我需要检查某个地方,以便添加值,但在那之后它只是浪费。那么,有什么办法可以删除这段代码,而不是完全删除,而是让代码onlyUsefulForFirstTime
不再执行,或者类似的东西,好吧!你明白了!
ps:我不是在问其他备份方法或其他备份策略,我知道还有其他方法,但这不是问题!