2012-08-31 187 views
8

假设我已经在Visual Studio的App_Data文件夹中创建了一个名为Database1.mdf的SQL Server数据库,其表名为Names使用C#连接到本地SQL Server数据库

我该如何建立连接以使用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"; 

但我得到一个错误:

database not found/error connecting to database

+0

你连接数据库到SQL Server? –

回答

11

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

+1

要显示数据源窗口:在菜单栏上,选择查看,其他窗口,数据源(或选择Shift + Alt + D键)。 – ECH

2

你尝试用此字符串连接

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|Database1.mdf;Database=dbname; Trusted_Connection=Yes; 
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/

2

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

希望有所帮助。

4

如果使用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(); 
3
SqlConnection c = new SqlConnection(@"Data Source=localhost; 
          Initial Catalog=Northwind; Integrated Security=True"); 
相关问题