2009-08-31 14 views
20

Qualcuno può aiutarmi, per favore? Non ho capito bene.Utilizzo di Web.Config per configurare la stringa di connessione del database SQL?

Voglio impostare la mia stringa di connessione in modo da poterla chiamare dal mio file Web.Config.

Ho bisogno di un modo per chiamarlo dal mio codice, si prega di fare un piccolo esempio. :(

Ho anche bisogno di aiuto su come impostare il file web.config.

Non so quali sono le proprietà da usare. Ecco uno screenshot di ciò che le mie credenziali sono. Non ho l'impostazione della password per Windows . sono davvero perso qui

alt text

risposta

36

Ecco un great overview on MSDN che copre come fare questo

Nel web.config, aggiungere una voce di stringa di connessione:..

<connectionStrings> 
    <add 
    name="MyConnectionString" 
    connectionString="Data Source=sergio-desktop\sqlexpress;Initial 
    Catalog=MyDatabase;User ID=userName;Password=password" 
    providerName="System.Data.SqlClient" 
    /> 
</connectionStrings> 

Analizziamo le parti componenti qui:

Dati di origine è il server. Nel tuo caso, un'istanza SQL denominata su sergio-desktop.

Il catalogo iniziale è la query di database predefinita deve essere eseguita contro. Per gli usi normali, questo sarà il nome del database.

Per l'autenticazione, abbiamo alcune opzioni.

User ID epassword significa utilizzare le credenziali di SQL, non di Windows, ma ancora molto semplice - basta andare nella vostra sezione Sicurezza del vostro SQL Server e creare un nuovo accesso. Dagli un nome utente e una password e dai i diritti al tuo database. Tutti i dialoghi di base sono molto intuitivi.

È anche possibile utilizzare la sicurezza integrata, il che significa che l'applicazione .NET proverà a connettersi a SQL utilizzando le credenziali del processo di lavoro. Controlla here for more info su quello.

Infine, nel codice, si può arrivare a stringa di connessione utilizzando:

ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString 
+1

Grazie per il link, ma mostra solo come richiamare la stringa di connessione dal codice, non è come trovare la stringa di connessione e installarlo. :( –

+3

+1 per un'ottima panoramica ;-) –

+0

Grazie mille. Risposta incredibile e ho imparato ad usarlo! : D –

0

Se si utilizza SQL Express (che siete), quindi le credenziali di accesso sono \ SQLEXPRESS

Ecco il connectionString nel file di configurazione web, che è possibile aggiungere:.

<connectionStrings> 
<add connectionString="Server=localhost\SQLEXPRESS;Database=yourDBName;Initial Catalog= yourDBName;Integrated Security=true" name="nametoCallBy" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

Il luogo è appena sopra il sistema.tag web.

Poi si può chiamare da:

connString = ConfigurationManager.ConnectionStrings["nametoCallBy"].ConnectionString; 
+0

Sono confuso che tu dica: "Database = yourBDName" e "InitialCatalog = yourDBName". Quale è quale? –

+1

stesso .. basta scrivere lo stesso per entrambi :) – waqasahmed

1

Aggiungi questo al vostro web config e cambiare il nome del catalogo, che è il nome del database:

<connectionStrings> 
    <add name="MyConnectionString" connectionString="Data Source=SERGIO-DESKTOP\SQLEXPRESS;Initial Catalog=YourDatabaseName;Integrated Security=True;"/></connectionStrings> 

Riferimento System.Configuration assemblaggio nel progetto .

Ecco come si recuperano stringa di connessione dal file di configurazione:

System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 
3

http://www.connectionstrings.com è un sito dove si possono trovare un sacco di stringhe di connessione. Tutto ciò che devi fare è copiare e incollare e modificarlo in base alle tue esigenze. È sicuro di avere tutte le stringhe di connessione per tutte le tue esigenze.

0

Se si utilizza Connetti al database sotto gli strumenti in Visual Studio, sarà possibile aggiungere il nome del server e del database e testare la connessione. In caso di successo è possibile copiare la stringa dalla parte inferiore della finestra di dialogo.

1
using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 

public partial class form_city : System.Web.UI.Page 
{ 
    connection con = new connection(); 
    DataTable dtable; 
    string status = ""; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     TextBoxWatermarkExtender1.WatermarkText = "Enter State Name !";   
     if (!IsPostBack) 
     { 
      status = "Active"; 
      fillgrid(); 
      Session.Add("ope", "Listing"); 
     } 
    } 
    protected void fillgrid() 
    { 
     //Session.Add("ope", "Listing"); 
     string query = "select *"; 
     query += "from State_Detail where Status='" + status + "'"; 
     dtable = con.sqlSelect(query); 
     grdList.DataSource = dtable; 
     grdList.DataBind(); 
     lbtnBack.Visible = false; 
    } 
    protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     grdList.PageIndex = e.NewPageIndex; 
     string operation = Session["ope"].ToString(); 
     if (operation == "ViewLog") 
      status = "Inactive"; 
     else if (operation == "Listing") 
      status = "Active"; 
     fillgrid(); 
    } 
    public string GetImage(string status) 
    { 
     if (status == "Active") 
      return "~/images/green_acti.png"; 
     else 
      return "~/images/red_acti.png"; 
    } 
    protected void grdList_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
     string st = "Inactive"; 
     int State_Id = Convert.ToInt32(grdList.DataKeys[e.RowIndex].Values[0]); 
     string query = "update State_Detail set Status='" + st + "'"; 
     query += " where State_Id=" + State_Id; 
     con.sqlInsUpdDel(query); 
     status = "Active"; 
     fillgrid(); 
    }  
    protected void grdList_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName.Equals("Select")) 
     { 
      string query = "select * "; 
      query += "from State_Detail where State_Id=" + e.CommandArgument; 
      dtable = con.sqlSelect(query); 
      grdList.DataSource = dtable; 
      grdList.DataBind(); 
      lbtnBack.Visible = true; 
     } 
    } 
    protected void ibtnSearch_Click(object sender, ImageClickEventArgs e) 
    { 
     Session.Add("ope", "Listing"); 
     if (txtDepId.Text != "") 
     { 
      string query = "select * from State_Detail where State_Name like '" + txtDepId.Text + "%'"; 
      dtable = con.sqlSelect(query); 
      grdList.DataSource = dtable; 
      grdList.DataBind(); 
      txtDepId.Text = ""; 
     } 
    } 
    protected void grdList_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
     int State_Id = Convert.ToInt32(grdList.DataKeys[e.NewEditIndex].Values[0]); 
     Session.Add("ope", "Edit"); 
     Session.Add("State_Id", State_Id); 
     Response.Redirect("form_state.aspx"); 
    } 

    protected void grdList_Sorting(object sender, GridViewSortEventArgs e) 
    { 
     string operation = Session["ope"].ToString(); 
     if (operation == "ViewLog") 
      status = "Inactive"; 
     else if (operation == "Listing") 
      status = "Active"; 

     string query = "select * from State_Detail"; 
     query += " where Status='" + status + "'"; 
     dtable = con.sqlSelect(query); 
     DataView dview = new DataView(dtable); 
     dview.Sort = e.SortExpression + " asc"; 
     grdList.DataSource = dview; 
     grdList.DataBind(); 
    } 
} 
<asp:Image ID="imgGreenAct" ImageUrl='<%# GetImage(Convert.ToString(DataBinder.Eval(Container.DataItem, "Status")))%>' AlternateText='<%# Bind("Status") %>' runat="server" /> 
-1

web.config

<connectionStrings> 
    <add name="MyConnectionString" connectionString="Data Source=SERGIO-DESKTOP\SQLEXPRESS; Initial Catalog=YourDatabaseName;Integrated Security=True;"/> 
</connectionStrings> 

css:

System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 
Problemi correlati