2012-08-31 37 views
8

Supponiamo di aver creato un database SQL Server denominato Database1.mdf nella cartella App_Data in Visual Studio con una tabella denominata Names.Connessione al database SQL Server locale mediante C#

Come è possibile stabilire una connessione per leggere i valori della tabella utilizzando C#?

Finora ho provato qualcosa di simile:

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

ma ottengo un errore:

database not found/error connecting to database

+0

Forse si allega DB per SQL Server? –

risposta

11

In Data Source (sulla sinistra del Visual Studio) tasto destro del mouse sul database, quindi Configure Data Source With Wizard. Verrà visualizzata una nuova finestra, espandere la stringa di connessione, è possibile trovare la stringa di connessione in là

+1

Per visualizzare la finestra dell'origine dati: Sulla barra dei menu, selezionare Visualizza, Altre finestre, Origini dati (o scegliere i tasti Maiusc + Alt + D). – ECH

2

Si tenta con questa connessione stringa

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

Se si' usando SQL Server express, cambia

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

a

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

Questo, e centinaia di più stringhe di connessione possono essere trovati a http://www.connectionstrings.com/

2

Mi piace utilizzare la pratica procedura delineata here per creare stringhe di connessione utilizzando un file .udl. Ciò consente di testarli all'interno del file udl per garantire che sia possibile connettersi prima di eseguire qualsiasi codice.

Spero che questo aiuti.

4

Se si utilizza l'autenticazione di SQL, utilizzare questo:

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

Se si utilizza l'autenticazione di Windows, utilizzare questo:

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"); 
Problemi correlati