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

C# WinForm 專案使用 App.config 管理資料庫連線字串完整教學

     編輯:關於C#

為什麼使用 App.config?

App.config 是 .NET 應用程式的標準 XML 設定檔,編譯後會自動複製為 YourApp.exe.config 置於輸出目錄。優點:

  • 連線字串不硬編碼,部署不同環境(開發/測試/正式)只需修改設定檔,無需重新編譯。
  • .NET Framework 內建 ConfigurationManager 提供型別安全存取。
  • 支援多組連線字串、加密區段、轉換 (Web.config transform 同理) 等進階功能。

步驟 1:加入應用程式設定檔

  1. 方案總管右鍵專案 → 加入 → 新增項目。
  2. 搜尋或選擇 應用程式設定檔,名稱預設為 App.config,點選 加入。

步驟 2:編寫連線字串區段

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <!-- name 為邏輯名稱,connectionString 為實際連線字串 -->
    <add name="SQLConnString"
         connectionString="server=.;database=MyDatabase;uid=sa;pwd=123456"
         providerName="System.Data.SqlClient" />
    <!-- 可加入多組 -->
    <add name="OracleConn"
         connectionString="Data Source=ORCL;User Id=scott;Password=tiger;"
         providerName="System.Data.OracleClient" />
  </connectionStrings>
</configuration>

提示: server=. 或 server=(local) 皆代表本機預設實例;具名實例用 server=.\SQLEXPRESS。

步驟 3:加入系統組件參考

  1. 方案總管右鍵 參考 → 加入參考。
  2. 在 組件 > 架構 中勾選 System.Configuration。

程式碼頂端加入:

using System.Configuration;

步驟 4:程式碼中讀取並使用

string connStr = ConfigurationManager.ConnectionStrings["SQLConnString"].ConnectionString;

using (var conn = new SqlConnection(connStr))
{
    conn.Open();
    // 執行命令...
    using (var cmd = new SqlCommand("SELECT GETDATE()", conn))
    {
        Console.WriteLine($"DB 時間: {cmd.ExecuteScalar()}");
    }
}

常見錯誤與排查

現象原因解決
ConnectionStrings 為 null 或計數為 0未加入 System.Configuration 參考加入參考並確認 using
找不到指定 name拼字錯誤、大小寫不符、設定檔未複製到輸出目錄檢查 bin/Debug/YourApp.exe.config 內容
連線失敗連線字串格式錯誤、伺服器不可達、認證錯誤用 SSMS 測試連線,再複製可用字串到 config

進階:執行時期修改並持久化

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["SQLConnString"].ConnectionString = newConnStr;
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");

警告: 這會修改 .exe.config 檔案,需寫入權限;正式環境建議改用 appsettings.json (.NET Core) 或 Azure Key Vault 等更安全方案。

參考資源

原文連結:https://www.bianceng.cn/Programming/csharp/201410/45746.htm

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved