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

时间:2012-08-31 18:36:23

标签: c# sql-server

假设我在Visual Studio的Database1.mdf文件夹中创建了一个名为App_Data的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";

但是我收到了一个错误:

  

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

6 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:6)

如果您使用 SQL身份验证,请使用:

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身份验证,请使用:

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();

答案 2 :(得分:4)

SqlConnection c = new SqlConnection(@"Data Source=localhost; 
                           Initial Catalog=Northwind; Integrated Security=True");

答案 3 :(得分:3)

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

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

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

那,在http://www.connectionstrings.com/

可以找到数百个连接字符串

答案 4 :(得分:2)

您尝试使用此字符串连接

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

答案 5 :(得分:2)

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

希望有所帮助。