使用C#连接到本地SQL Server数据库

假设我在Visual Studio的App_Data文件夹中创建了一个名为Database1.mdf的SQL Server数据库,其中包含一个名为Names的表。

如何使用C#建立连接以读取表值?

到目前为止,我尝试过这样的事情:

 SqlConnection conn = new SqlConnection("Server=localhost;Database=Database1;"); conn.Open(); // create a SqlCommand object for this connection SqlCommand command = conn.CreateCommand(); command.CommandText = "Select * from Names"; 

但是我收到一个错误:

未找到数据库/错误连接到数据库

在“ Data Source (Visual Studio左侧)中右键单击数据库,然后单击“ Configure Data Source With Wizard 。 将出现一个新窗口,展开Connection字符串,您可以在其中找到连接字符串

如果使用SQL身份validation ,请使用以下命令:

 using System.Data.SqlClient; SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\SQLExpress;" + "User Instance=true;" + "User Id=UserName;" + "Password=Secret;" + "AttachDbFilename=|DataDirectory|Database1.mdf;" conn.Open(); 

如果使用Windows身份validation ,请使用以下命令:

 using System.Data.SqlClient; SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\SQLExpress;" + "User Instance=true;" + "Integrated Security=true;" + "AttachDbFilename=|DataDirectory|Database1.mdf;" conn.Open(); 
 SqlConnection c = new SqlConnection(@"Data Source=localhost; Initial Catalog=Northwind; Integrated Security=True"); 

如果您使用的是SQL Server Express,请进行更改

 SqlConnection conn = new SqlConnection("Server=localhost;" + "Database=Database1;"); 

 SqlConnection conn = new SqlConnection("Server=localhost\SQLExpress;" + "Database=Database1;"); 

可以在http://www.connectionstrings.com/找到数百个连接字符串。

您尝试使用此字符串连接

 Server=.\SQLExpress;AttachDbFilename=|DataDirectory|Database1.mdf;Database=dbname; Trusted_Connection=Yes; 

我喜欢使用此处概述的方便过程来使用.udl文件构建连接字符串。 这允许您从udl文件中测试它们,以确保在运行任何代码之前可以连接。

希望有所帮助。