繁体   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