簡體   English   中英

連接到app.config中的connectionString

[英]Connecting to connectionString in app.config

我的連接字符串存儲在App.Config中

<connectionStrings>
 <clear />
 <add name="CTaC_Information_System.Properties.Settings.CIS_beConn"
     connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=&quot;\\server\file\CIS Data\Database\CIS_be.accdb&quote;;Jet OLEDB:Database Password=123" 
     providerName="System.Data.OleDb" />

然后,當我轉到main.xaml.cs時,請輸入以下內容:

string cisconn = ConfigurationManager.ConnectionStrings["CTaC_Information_System.Properties.Settings.CIS_beConn"].ConnectionString;`

我在搜索時在Stack Overflow上找到了該答案,但有人說放var但是當我鍵入var它無法識別,所以我使用了string方法。

當我輸入cisconn.Open(); 該選項不存在。 我正在引用System.Configuartion; System.Data.Sql; System.Data.SqlClient; System.Data.OleDb;

有人可以顯示/告訴我如何從c#連接到數據庫嗎? 我正在嘗試在應用程序運行時測試連接,但無法弄清楚。

連接字符串只是一個字符串,它應在您的連接中使用,因此您應該執行以下操作:

public void DoSomeDatabaseOp()
{
    string cisconn = ConfigurationManager.ConnectionStrings["CTaC_Information_System.Properties.Settings.CIS_beConn"].ConnectionString;

    using (OleDbConnection conn = new OleDbConnection(cisconn))
    {
        conn.Open();
        //Create your commands or do your SQL here.
    }
}

您應該在使用該方法的方法內部創建/銷毀該連接。不要在類對象的根目錄中保留對它的引用。 如果您不執行數據庫操作,則可以保持連接的清潔和開放。

如果您確實想這樣做,則可以執行以下操作:

class MyClass
{
    OleDbConnection _rootConn;
    string _connStr;

    public MyClass()
    {
        _connStr = string cisconn = ConfigurationManager.ConnectionStrings["CTaC_Information_System.Properties.Settings.CIS_beConn"].ConnectionString;
        _rootConn = new OleDbConnection(_connStr);
    }

    public void DoSomeDatabaseOp()
    {
        //Use _rootConn here
    }
}

但是該類應該實現IDisposable,以便它可以正確處理連接! 如何實現IDisposable超出了答案的范圍,但是請查找如何正確實現它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM