[英]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.