首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 開發 Windows Service 程序(下):MyConfig 設定儲存與資料庫操作

     編輯:關於C語言

MyConfig.Save() 完整實作

先清空 SystemConfig 表,再逐筆寫入目前設定值:

public void Save() {
    using (IDbCommand cmd = Util.DBConnection.CreateCommand()) {
        cmd.CommandText = "DELETE FROM SystemConfig";
        cmd.ExecuteNonQuery();

        cmd.CommandText = "INSERT INTO SystemConfig (ConfigName, ConfigValue) VALUES (?, ?)";
        IDbDataParameter pName = cmd.CreateParameter();
        IDbDataParameter pValue = cmd.CreateParameter();
        cmd.Parameters.Add(pName);
        cmd.Parameters.Add(pValue);

        pName.Value = "LogRenamed"; pValue.Value = bolLogRenamed.ToString(); cmd.ExecuteNonQuery();
        pName.Value = "LogChanged"; pValue.Value = bolLogChanged.ToString(); cmd.ExecuteNonQuery();
        pName.Value = "LogDeleted"; pValue.Value = bolLogDeleted.ToString(); cmd.ExecuteNonQuery();
        pName.Value = "LogCreated"; pValue.Value = bolLogCreated.ToString(); cmd.ExecuteNonQuery();

        for (int i = 0; i < myWatchedPaths.Length; i++) {
            string path = myWatchedPaths[i];
            if (string.IsNullOrEmpty(path?.Trim())) continue;
            pName.Value = "path" + i;
            pValue.Value = path;
            cmd.ExecuteNonQuery();
        }
    }
}

設計重點

  • 使用參數化查詢防止 SQL Injection
  • 路徑陣列以 path0, path1... 格式儲存,支援多路徑
  • 布林值轉字串儲存(True/False)
  • 每次儲存全量覆寫,簡化邏輯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved