2012-08-31 20 views
8

Supongamos que he creado una base de datos de SQL Server llamada Database1.mdf en la carpeta App_Data en Visual Studio con una tabla llamada Names.Conectando a la base de datos local de SQL Server usando C#

¿Cómo podría establecer una conexión para leer los valores de la tabla usando C#?

Hasta ahora he intentado algo como esto:

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"; 

pero me da un error:

database not found/error connecting to database

+0

¿Incluyó DB para SQL Server? –

Respuesta

11

En Data Source (a la izquierda de Visual Studio), haga clic derecho en la base de datos, entonces Configure Data Source With Wizard. Aparecerá una nueva ventana, expanda la cadena de conexión, puede encontrar la cadena de conexión allí

+1

Para mostrar la ventana de fuente de datos: en la barra de menú, elija Ver, Otras ventanas, Fuentes de datos (o elija las teclas Shift + Alt + D). – ECH

2

Intenta con esta conexión cadena

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

Si' re usando SQL Server express, cambie

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

a

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

Eso, y otros cientos de cadenas de conexión se pueden encontrar en http://www.connectionstrings.com/

2

Me gusta usar el práctico proceso descrito here para construir cadenas de conexión utilizando un archivo .udl. Esto le permite probarlos desde el archivo udl para asegurarse de que puede conectarse antes de ejecutar cualquier código.

Espero que ayude.

4

Si utiliza autenticación de SQL, utilice esto:

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

Si utiliza autenticación de Windows, utilice esto:

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"); 
Cuestiones relacionadas