2009-08-31 12 views
20

¿Alguien me puede ayudar, por favor? Estoy confundido.Usando Web.Config para configurar mi cadena de conexión a la base de datos SQL?

Quiero configurar mi cadena de conexión para que pueda llamarla desde mi archivo Web.Config.

Necesito una forma de llamarlo desde mi código, por favor, haga un pequeño ejemplo. :(

que también necesitan ayuda para configurar el archivo Web.config.

No sé qué propiedades para su uso. Esta es una captura de pantalla de lo que mis credenciales son. No tengo ni establecer una contraseña para Windows . realmente estoy perdido aquí

alt text

Respuesta

36

aquí hay una great overview on MSDN que cubre cómo hacer esto

En su web.config, agregue una entrada de cadena de conexión:..

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

Vamos a romper las partes componentes aquí:

datos de origen es su servidor. En su caso, una instancia de SQL con nombre en sergio-desktop.

En el catálogo inicial se deben ejecutar las consultas predeterminadas de la base de datos. Para usos normales, este será el nombre de la base de datos.

Para la autenticación, tenemos algunas opciones.

ID de usuario ycontraseña que consiste en utilizar las credenciales de SQL, no de Windows, pero aún muy simple - sólo tiene que ir en su sección de Seguridad de su SQL Server y crear un nuevo inicio de sesión. Dale un nombre de usuario y contraseña, y dale derechos a tu base de datos. Todos los diálogos básicos son muy auto explicativos.

También puede usar la seguridad integrada, lo que significa que su aplicación .NET intentará conectarse a SQL utilizando las credenciales del proceso de trabajo. Compruebe here for more info en eso.

Por último, en el código, se puede llegar a la cadena de conexión mediante el uso de:

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

Gracias por el enlace, pero sólo muestra cómo invocar la cadena de conexión de código, no cómo encontrar la cadena de conexión y configurarlo :( –

+3

+1 para una gran descripción ;-) –

+0

Gracias un millón. ¡Respuesta increíble y aprendí cómo usarlo! : D –

0

Si está utilizando SQL Express (que se encuentra), a continuación, sus credenciales de acceso son \ SQLEXPRESS

Aquí es el connectionString en el archivo web.config que se pueden agregar:.

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

El lugar está justo encima del sistema.etiqueta web

Entonces se le puede llamar por:

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

Estoy confundido, diga: "Database = yourBDName" e "InitialCatalog = yourDBName". ¿Cual es cual? –

+1

mismo ... solo escriba lo mismo para ambos :) – waqasahmed

1

Agregue esto a su configuración web y cambiar el nombre de catálogo, que es el nombre de la base de datos:

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

Referencia System.Configuration en su proyecto .

Aquí es cómo recuperar la cadena de conexión desde el fichero de configuración:

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

http://www.connectionstrings.com es un sitio donde se puede encontrar una gran cantidad de cadenas de conexión. Todo lo que necesita hacer es copiar y pegar y modificarlo para adaptarlo a sus necesidades. Es seguro tener todas las cadenas de conexión para todas sus necesidades.

0

Si utiliza Connect to Database en las herramientas de Visual Studio, podrá agregar el nombre del Servidor y la base de datos y probar la conexión. En caso de éxito, puede copiar la cadena desde la parte inferior del cuadro de diálogo.

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