[英]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="\\server\file\CIS Data\Database\CIS_be.accdb"e;;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.