2009-06-12 11 views

答えて

5

この場合、System.Web.UI.Pageから派生した「ベースページ」を作成します。このページでは、「ConnectionString」というプロパティを作成します。このページから継承するすべてのWebページを作成します。

例:

public partial class BasePage : System.Web.UI.Page 
{ 
    protected string ConnectionString 
    { 
     get 
     { 
      return System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"]; 
     } 
    } 

} 

そして、あなたのweb.configファイル内

<appSettings> 
     <!-- Connection String --> 
     <add key="ConnectionString" value="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"/> 
</appSettings> 

今、あなたは簡単に読める接続文字列でweb.configファイルを持つことができます。そして、この 'Base Page'をクラスライブラリに保存することもできます。問題はありません。 Webページが継承している場合は、接続文字列とともにweb.configファイルを使用しています。

その後、その文字列を使用して簡単に接続できます。ウェブページや別のクラスでさまざまな方法でこれを行うことができます(私は別のクラスを推奨します)。この場合、あなたは別のクラスを持っていた場合、あなたはあなたの接続機能に、ConnectionStringプロパティに渡す必要があります:

public void ExecuteQuery(string connectionString, string sql) 
     { 
      using (System.Data.SqlClient.SqlConnection theConnection = new System.Data.SqlClient.SqlConnection(connectionString)) 
      using (System.Data.SqlClient.SqlCommand theCommand = new System.Data.SqlClient.SqlCommand(sql, theConnection)) 
      { 
       theConnection.Open(); 
       theCommand.CommandType = CommandType.Text; 
       theCommand.ExecuteNonQuery(); 
      } 
     } 

か、接続文字列パラメータを取る、とだけ読み込むない関数を作成することができますweb.configファイルから取得します。接続とデータアクセスのコードをクラスライブラリに入れて、データとコンテンツを適切に分離したいと思うように思えます。お役に立てれば!

0

System.Data名前空間。 SQL Serverを使用している場合、SQLConnectionオブジェクト。

データアクセス用のアプリケーションデータブロックを使用しています。私は時間節約だと思っています。そのフレームワークはSQL Serverへのアクセスに最適です。

0

あなたのライブラリはASP.netサイトから呼び出されますか?その場合でも、アプリケーション設定にアクセスするために同じ方法を使用できます。それ以外の場合は、フロントエンドのために何らかのapp.configが必要になるかもしれません。

0

また、いくつかの情報を取得するためにそれを使用する必要があるORMを使用していない限り、ほとんどのクラスライブラリの設定で接続する必要はありません。そのアプリケーションを実行しているときに、呼び出し元のアプリケーションの設定が使用されるため、web.configなどから設定を取得します。

1

は、これを解決するには、いくつかの方法があります。

1)あなたはクラスライブラリが実際にWebページを生成するために起こっているなら、それはおそらく、web.configファイルとサーバー上にデプロイされますので、使用することができますweb.configファイルのプロパティConnectionStringパーツを使用したくない場合は、接続文字列でappSettingを作成するだけです。

これは、さまざまな環境(テスト、デプロイメントなど)に応じて接続文字列を変更したり、接続文字列を変えることが簡単にできるという利点があります。別の種類のアプリでクラスライブラリを使用する場合は、app.configファイルを同じ設定で使用できます。

データベースの種類に応じて、この作業を行うためにSystem.Dataと場合によってはいくつかのサブネームスペースを使用します。

2)接続文字列をコードにハードコードすることができます。醜い、しかしピンチで実行可能です。

3)エンティティフレームワークを使用して、必要な作業を手助けし、削減することができます。

関連する問題