我的连接字符串存储在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
时它不会识别它,所以我选择了{{1} } 方法。
当我输入string
时,选项不在那里。我引用了cisconn.Open();
,System.Configuartion;
System.Data.Sql;
和System.Data.SqlClient;
。
有人可以显示/告诉我如何从c#连接到数据库吗?我在应用程序运行时尝试测试连接,但我无法弄明白。
答案 0 :(得分:0)
连接字符串只是一个字符串,它意味着在你的连接中使用,所以你应该这样做:
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超出了答案的范围,但查找如何正确实现它。