2009-08-31 14 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

最善の策を、あなたがしているように、新鮮な開始、企業のライブラリをつかむ行くことです。彼らには、あなたのためにすべてを結びつけるのに使う設定ツールがあります。

また、データアクセスアプリケーションブロックがあり、これは非常に便利であり、ドキュメントは良いサンプルで満たされています。

http://www.microsoft.com/downloads/details.aspx?FamilyId=90DE37E0-7B42-4044-99BE-F8ECFBBC5B65&displaylang=en

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> 

場所はシステムのすぐ上にあります。ウェブタグ。

次にあなたがでそれを呼び出すことができますあなたのWeb構成にこれを追加し、データベース名でカタログ名変更

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

"Database = 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; 
関連する問題