2009-08-31 5 views
20

Quelqu'un peut-il m'aider s'il vous plaît? Je suis confus.L'utilisation de Web.Config pour configurer ma chaîne de connexion de base de données SQL?

Je veux configurer ma chaîne de connexion afin que je puisse l'appeler à partir de mon fichier Web.Config.

J'ai besoin d'un moyen de l'appeler à partir de mon code, s'il vous plaît faire un petit exemple. :(

J'ai aussi besoin d'aide sur la mise en place du fichier web.config.

Je ne sais pas quelles sont les propriétés à utiliser. Voici une capture d'écran de ce que mes lettres de créance sont. Je n'ai pas mis en place un mot de passe pour Windows . Je suis vraiment perdu ici

alt text

Répondre

36

Voici un great overview on MSDN qui couvre comment faire

Dans votre web.config, ajoutez une entrée de chaîne de connexion:..

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

Décomposons les composants ici:

source de données est votre serveur. Dans votre cas, une instance SQL nommée sur sergio-desktop.

Le catalogue initial est la base de données par défaut à exécuter. Pour les utilisations normales, ce sera le nom de la base de données.

Pour l'authentification, nous avons quelques options.

ID utilisateur et Mot de passe signifie en utilisant les informations d'identification SQL, pas Windows, mais toujours très simple - juste aller dans votre section de sécurité de SQL Server et créer une nouvelle connexion. Donnez-lui un nom d'utilisateur et un mot de passe, et donnez-lui des droits sur votre base de données. Tous les dialogues de base sont très explicites.

Vous pouvez également utiliser la sécurité intégrée, ce qui signifie que votre application .NET va essayer de se connecter à SQL en utilisant les informations d'identification du processus de travail. Vérifiez here for more info sur ce point.

Enfin, dans le code, vous pouvez accéder à votre chaîne de connexion en utilisant:

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

Merci pour le lien, mais il ne montre que comment appeler la chaîne de connexion à partir du code, pas comment trouver la chaîne de connexion et le mettre en place. :( –

+3

+1 pour un bon aperçu ;-) –

+0

Merci un million. Réponse incroyable et j'ai appris à l'utiliser! : D –

0

Si vous utilisez SQL Express (que vous êtes), alors vos identifiants de connexion sont \ SQLEXPRESS

Voici le connectionString dans le fichier de configuration web que vous pouvez ajouter.

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

La place est juste au-dessus du système.tag web

Ensuite, vous pouvez l'appeler par:

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

Je suis confus vous dites: "Database = yourBDName" et "InitialCatalog = yourDBName". Lequel est lequel? –

+1

même .. juste écrire la même chose pour les deux :) – waqasahmed

1

Ajouter ceci à votre config web et changer le nom du catalogue qui est le nom de votre base de données:

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

Référence Assemblée System.Configuration dans votre projet .

Voici comment vous récupérez la chaîne de connexion à partir du fichier de configuration:

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

http://www.connectionstrings.com est un site où vous pouvez trouver beaucoup de chaînes de connexion. Tout ce que vous avez à faire est de copier-coller et de le modifier en fonction de vos besoins. Il est sûr d'avoir toutes les chaînes de connexion pour tous vos besoins.

0

Si vous utilisez la connexion à la base de données sous les outils dans Visual Studio, vous serez en mesure d'ajouter le nom du serveur et de la base de données et de tester la connexion. En cas de succès, vous pouvez copier la chaîne à partir du bas de la boîte de dialogue.

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; 
Questions connexes