2009-08-31 45 views
20

任何人都可以幫我嗎?我很困惑。使用Web.Config來設置我的SQL數據庫連接字符串?

我想設置我的連接字符串,所以我可以從我的Web.Config文件調用它。

我需要一種方法從我的代碼中調用它,請舉個小例子。 :(

我還需要有關設置Web.Config文件的幫助。

我不知道用什麼樣的屬性。這裏有一個什麼我的資格,我沒有密碼設置爲Windows截圖現在我真想在這裏失去了

alt text

回答

36

這裏有一個great overview on MSDN,討論瞭如何做到這一點

在你的web.config中添加一個連接字符串項:。

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

讓我們在這裏打破組成部分:

數據源是您的服務器。你的情況,在sergio-desktop上的命名SQL實例。

初始目錄是應執行的缺省數據庫查詢。對於正常使用,這將是數據庫名稱。

對於認證,我們有幾個選項。

用戶ID密碼意味着使用SQL憑據,而不是Windows,但還是很簡單 - 只要進入你的SQL Server您的安全部分,並創建一個新的登錄。給它一個用戶名和密碼,並賦予它數據庫的權利。所有的基本對話都非常明瞭。

您也可以使用集成安全性,這意味着您的.NET應用程序將嘗試使用工作進程的憑據連接到SQL。檢查here for more info就可以了。

最後,在代碼中,你可以使用到您的連接字符串:

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

感謝您的鏈接,但只顯示瞭如何調用從代碼中的連接字符串,而不是如何找到連接字符串並設置它。 :( –

+3

+1的很好的概述;-) –

+0

感謝百萬。令人難以置信的答案,我已經學會了如何使用它! :D –

0

如果您正在使用的SQL Express(你是),那麼您的登錄憑據\ SQLEXPRESS

這裏是在Web配置文件中的connectionString,您可以添加:

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

位置就在系統之上。網頁標籤。

然後你就可以把它叫做:

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

我很困惑,你說:「數據庫= yourBDName」和「InitialCatalog = yourDBName」。哪個是哪個? –

+1

相同..只是寫同樣的:) – waqasahmed

1

添加到您的網絡配置和更改目錄名稱是數據庫名稱:

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

參考System.Configuration總成項目。

這裏是你如何從配置文件中檢索連接字符串:

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

http://www.connectionstrings.com是一個網站,你可以找到很多的連接字符串。您需要做的只是複製粘貼並進行修改以滿足您的需求。它肯定會有所有需要的連接字符串。

0

如果您在Visual Studio中的工具下使用連接到數據庫,您將能夠添加服務器和數據庫的名稱並測試連接。一旦成功,您可以複製對話框底部的字符串。

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; 
相關問題