他のWebページを生成するために呼び出される.netプロジェクトを設定しています。基本的には真のコード・ビハインド・ページ。 webconfigファイルが存在しない/利用可能でない場合、クラスライブラリファイルに接続するにはどうすればよいですか?クラスライブラリプロジェクトでデータベース接続を作成できますか?
答えて
この場合、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ファイルから取得します。接続とデータアクセスのコードをクラスライブラリに入れて、データとコンテンツを適切に分離したいと思うように思えます。お役に立てれば!
System.Data名前空間。 SQL Serverを使用している場合、SQLConnectionオブジェクト。
データアクセス用のアプリケーションデータブロックを使用しています。私は時間節約だと思っています。そのフレームワークはSQL Serverへのアクセスに最適です。
あなたのライブラリはASP.netサイトから呼び出されますか?その場合でも、アプリケーション設定にアクセスするために同じ方法を使用できます。それ以外の場合は、フロントエンドのために何らかのapp.configが必要になるかもしれません。
また、いくつかの情報を取得するためにそれを使用する必要があるORMを使用していない限り、ほとんどのクラスライブラリの設定で接続する必要はありません。そのアプリケーションを実行しているときに、呼び出し元のアプリケーションの設定が使用されるため、web.configなどから設定を取得します。
は、これを解決するには、いくつかの方法があります。
1)あなたはクラスライブラリが実際にWebページを生成するために起こっているなら、それはおそらく、web.configファイルとサーバー上にデプロイされますので、使用することができますweb.configファイルのプロパティConnectionStringパーツを使用したくない場合は、接続文字列でappSettingを作成するだけです。
これは、さまざまな環境(テスト、デプロイメントなど)に応じて接続文字列を変更したり、接続文字列を変えることが簡単にできるという利点があります。別の種類のアプリでクラスライブラリを使用する場合は、app.configファイルを同じ設定で使用できます。
データベースの種類に応じて、この作業を行うためにSystem.Dataと場合によってはいくつかのサブネームスペースを使用します。
2)接続文字列をコードにハードコードすることができます。醜い、しかしピンチで実行可能です。
3)エンティティフレームワークを使用して、必要な作業を手助けし、削減することができます。
- 1. データベース接続に失敗しました:AD接続を作成できません:[DB接続](接続)
- 2. Androidにネイティブでソケット接続を作成できますか?
- 3. Symfony2でDoctrine2のデータベース接続をMAMP(接続拒否)で作成できません
- 4. エンティティマネージャはデータベースへの接続を作成しますか?
- 5. 「データベースに接続できません」
- 6. .mdfデータベースに接続できません
- 7. データベースに接続できません - PHP
- 8. phpMyAdminデータベースに接続できません
- 9. データベースに接続できません
- 10. 接続されたSQLデータベースに接続できません
- 11. ソリューションのクラスライブラリプロジェクトで接続文字列を取得
- 12. JSPlumbで直線接続を作成できません
- 13. PHP:データベース接続を共有するか、新しい接続を作成しますか?
- 14. Websphere Queue Managerを作成できますが接続できません
- 15. phpで接続できるデータベースをmySQL Workbenchにどのように作成しますか?
- 16. Webフォーム間で永続的なデータベース接続を作成する方法
- 17. PHPでデータベースに接続するときの接続エラー1044
- 18. Webブラウザでピアツーピア接続を作成することはできますか?
- 19. Sqlite Connectionにいくつのデータベースを接続できますか?
- 20. XAMPPでデータベース(MySQL PDO)を作成し、PHPコードと接続します
- 21. ユーザーを作成しても接続できません
- 22. TomcatはTCPS Oracle JDBC接続を作成できません
- 23. クラス ''のJDBC接続ドライバを作成できません。null
- 24. iTunes Connectデータベースに接続できますか?
- 25. 何個のデータベース接続がActionCableで開きますか?
- 26. Propel接続から接続名を取得できますか?
- 27. PHPでデータベース接続をいつ閉じるべきですか?
- 28. 1回またはすべてのデータベース操作でデータベース接続を開きますか?
- 29. 接続している同じデータベースに対してdblinkを作成できますか?
- 30. ASP.Netのデータアクセスレイヤー:どこで接続を作成しますか?