C# SQL Server(本地数据库)的连接字符串
我在Visual Studio中将本地数据库添加到我的应用程序中: 我需要它的连接字符串-这里是:C# SQL Server(本地数据库)的连接字符串,c#,sql-server,winforms,connection-string,C#,Sql Server,Winforms,Connection String,我在Visual Studio中将本地数据库添加到我的应用程序中: 我需要它的连接字符串-这里是: SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=127.0.0.1.;" + "Initial Catalog=Filter;" + "Integrated Security=SSPI;";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=127.0.0.1.;" +
"Initial Catalog=Filter;" +
"Integrated Security=SSPI;";
conn.Open();
当我运行这段代码时,整个UI线程停止,就像无限for循环一样。我的连接字符串有什么问题
我正在使用Windows窗体、C#、.NET Framework 4.5.1版删除IP地址的最后一个点
"Data Source=127.0.0.1.;" +
应该是:
"Data Source=127.0.0.1;" +
部分问题是您的IP地址中有一个尾随“.”。这样删除:
"Data Source=127.0.0.1;" +
"Initial Catalog=Filter;" +
"Integrated Security=SSPI;";
另外,我强烈建议您将连接对象包装在using语句中,如下所示:
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString =
"Data Source=127.0.0.1.;" +
"Initial Catalog=Filter;" +
"Integrated Security=SSPI;";
conn.Open();
}
string sqlConnection = "Data Source=127.0.0.1;Initial Catalog=Filter;Integrated Security=SSPI;"
using (SqlConnection conn = new SqlConnection(sqlConnection)
{
conn.Open();
}
最后,在字符串中定义连接,并在实例化时将其传递到SqlConnection
对象中,如下所示:
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString =
"Data Source=127.0.0.1.;" +
"Initial Catalog=Filter;" +
"Integrated Security=SSPI;";
conn.Open();
}
string sqlConnection = "Data Source=127.0.0.1;Initial Catalog=Filter;Integrated Security=SSPI;"
using (SqlConnection conn = new SqlConnection(sqlConnection)
{
conn.Open();
}
这种方法可以为您做几件事:
Dispose
处理,即使在using
块中抛出异常可以找到有关
SqlConnection
类的更多信息,以及有关使用的更多信息。根据屏幕截图,您似乎试图连接到数据库文件(.mdf),而不是服务器实例。如果Data Source=
不起作用,请尝试将路径放入mdf文件。例如,数据源=C:\Data\Filters.mdf
。我猜UI线程停止的原因是默认连接超时为30秒,因此在.net引发异常之前,连接有30秒的时间响应。请确保sql server已启动并正在运行,并且您可以使用windows身份验证和SSMS连接到数据库。如果有效,请参阅以了解正确的语法,请参阅您原始问题中的上述注释。您是否指向右侧(或任何).mdf
文件?