2009-08-31 6 views
20

Kann mir bitte jemand helfen? Ich bin verwirrt.Verwenden Sie die Web.Config, um meine SQL-Datenbankverbindungszeichenfolge einzurichten?

Ich möchte meine Verbindungszeichenfolge einrichten, damit ich sie einfach aus meiner Web.Config-Datei aufrufen kann.

Ich brauche einen Weg, um es aus meinem Code zu nennen, bitte ein kleines Beispiel machen. :(

Ich brauche auch Hilfe auf die Datei Web.config einrichten.

Ich weiß nicht, welche Eigenschaften zu verwenden. Hier ist ein Screenshot von dem, was meine Zugangsdaten sind. Ich habe kein Passwort für Windows einrichten . ich bin wirklich hier verloren

alt text

Antwort

36

hier ein great overview on MSDN ist, die beschreibt, wie dies zu tun

In Ihrer web.config, eine Verbindungszeichenfolge Eintrag hinzufügen:..

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

Lassen sich die Bestandteile hier brechen:

Datenquelle Server ist. In Ihrem Fall eine benannte SQL-Instanz unter sergio-desktop.

Erster Katalog ist die Standarddatenbank, für die Abfragen ausgeführt werden sollen. Bei normalen Anwendungen ist dies der Name der Datenbank.

Für die Authentifizierung haben wir ein paar Optionen.

Benutzer-ID und Passwort bedeutet SQL-Anmeldeinformationen, nicht Windows, aber immer noch sehr einfach - gehen Sie einfach in Ihren Sicherheitsbereich Ihres SQL Server und eine neue Anmeldung erstellen. Geben Sie ihm einen Benutzernamen und ein Passwort und geben Sie ihm Rechte für Ihre Datenbank. Alle grundlegenden Dialoge sind sehr selbsterklärend.

Sie können auch integrierte Sicherheit verwenden, was bedeutet, dass Ihre .NET-Anwendung versucht, mit den Anmeldeinformationen des Arbeitsprozesses eine Verbindung zu SQL herzustellen. Überprüfen Sie here for more info darauf.

schließlich in Code, können Sie Ihre Verbindungszeichenfolge erhalten, indem mit:

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

Danke für den Link, aber es zeigt nur, wie die Verbindungszeichenfolge aus dem Code aufrufen, nicht, wie die Verbindungszeichenfolge finden und richte es ein. :( –

+3

+1 für tolle Übersicht ;-) –

+0

Tausend Dank. Unglaubliche Antwort und ich habe gelernt, wie man es benutzt! : D –

0

Wenn Sie SQL Express verwenden (was Sie sind), dann sind Ihre Anmeldedaten \ SQLEXPRESS

Hier die Connectionstring in der Datei Web-Config ist, die Sie hinzufügen können.

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

Platz ist direkt über dem System.Web-Tag.

Dann können Sie es durch nennen:

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

Ich bin verwirrt Sie sagen: "Database = yourBDName" und "InitialCatalog = yourDBName". Welcher ist welcher? –

+1

gleich .. schreibe das gleiche für beide :) – waqasahmed

1

Fügen Sie diese auf Ihren Web-Config und ändern Sie die Katalognamen, die Ihr Datenbankname:

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

Referenz System.Configuration Montage in Ihrem Projekt .

Hier ist, wie Sie Verbindungszeichenfolge aus der Konfigurationsdatei abzurufen:

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

http://www.connectionstrings.com ist eine Website, wo Sie eine Menge von Verbindungszeichenfolgen finden. Alles, was Sie tun müssen, ist kopieren und einfügen und ändern Sie es an Ihre Bedürfnisse anpassen. Es ist sicher, alle Verbindungszeichenfolgen für alle Ihre Bedürfnisse zu haben.

0

Wenn Sie in Visual Studio die Tools zum Herstellen einer Verbindung zur Datenbank verwenden, können Sie den Namen des Servers und der Datenbank hinzufügen und die Verbindung testen. Bei Erfolg können Sie die Zeichenfolge vom unteren Rand des Dialogfelds kopieren.

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; 
Verwandte Themen