使用代码连接到数据库 - C#

时间:2015-05-02 07:17:17

标签: c# sql-server database-connection

当我在Visual Studio中使用服务器资源管理器并在D驱动器上添加本地数据库时,我得到一个连接字符串,连接测试成功。

但是当我想使用下面的连接字符串来连接没有向导和jut代码的数据库时,我在打开连接时出错,我的连接字符串在下面提供:

string coonection_string ="Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\\x\book.mdf;Integrated Security=True;Connect Timeout=30";

try
{
      SqlConnection myconnection = new SqlConnection(coonection_string);
      myconnection.Open();
      MessageBox.Show(" connected");
}
catch (Exception e1)
{
      MessageBox.Show(e1.ToString());
}

3 个答案:

答案 0 :(得分:1)

您的连接字符串错误。您在本地项目或sqlexpres中的Eigher mdf文件,或者您可以在连接字符串中使用数据库名称,如

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True

or 

Data Source=(LocalDb)\v11.0;Initial Catalog=MyDatabase;Integrated Security=SSPI;

检查此链接。

DB Connection string in Web.config to use attached .mdf database won't work

始终将Web.config文件用于连接字符串,并以代码

访问该条目
Dim mWebSvr As String = ConfigurationSettings.AppSettings("Connectionstring")

答案 1 :(得分:1)

在连接字符串前面保留一个@符号,在C#中,反斜杠是转义字符

string coonection_string =@"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\\x\book.mdf;Integrated Security=True;Connect Timeout=30";

否则您的连接字符串格式可能不正确

SqlConnectionStringBuilder.AttachDBFilename Property

答案 2 :(得分:1)

尝试在连接字符串之前放置@。我们在字符串之前使用@来避免必须转义特殊字符。

string coonection_string =@"Data Source=(LocalDB)  \v11.0;AttachDbFilename=D:\\x\book.mdf;Integrated Security=True;Connect Timeout=30";