我正在設置一個被稱爲生成其他網頁的.net項目。基本上是一個真正的CODE BEHIND頁面。當沒有webconfig文件存在/可用時,如何關於在類庫文件上建立連接?我可以在類庫項目中創建數據庫連接嗎?
回答
在這種情況下,我會創建一個從System.Web.UI.Page派生的'Base Page'。在這個頁面上,你可以創建一個名爲'ConnectionString'的屬性。您將擁有您創建的所有網頁都從此頁面繼承。
例子:
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.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對象。
我使用應用程序數據塊進行數據訪問b/c我認爲這是一個節省時間。該框架非常適合SQL Server訪問。
您的圖書館是否會從一個ASP.net網站被調用?如果是這樣,您仍然可以使用相同的方法來訪問應用程序設置。否則,你可能需要某種app.config,無論你在這個前端做什麼。
另外,在大多數類庫中,您不需要在配置中進行連接,除非您使用的ORM需要使用它來獲取某些信息。調用應用程序的配置將在你運行這個東西的時候被使用,所以它會從web.config或其他東西中取出配置。
有幾種方法來解決這個問題:
1)如果你是類庫是真的要生成網頁,那麼它可能會被部署在web.config中的服務器上,因此可以使用web.config文件的屬性。如果您不想使用ConnectionString部分,那麼您可以使用連接字符串進行appSetting。
這樣做的好處是,對於不同的環境(測試,部署等),很容易更改或使用不同的連接字符串。如果您決定在另一種應用中使用類庫,則可以使用具有相同設置的app.config文件。
根據數據庫的類型,您將使用System.Data以及可能的一些子命名空間來實現此功能。
2)您可以將連接字符串硬編碼到代碼中。醜陋,但可以在一個捏。
3)你可以使用一個實體框架來幫助你並減少你必須做的工作。
- 1. 我可以在數據庫目錄中創建文件嗎?
- 2. 我可以從數據庫項目初始化數據庫嗎?
- 3. 我可以在庫項目中使用項目庫嗎?
- 4. 可以用javascript連接數據庫嗎
- 5. 我可以在ironruby上創建庫(dll)項目嗎?
- 6. 在類庫項目中更改數據庫連接字符串
- 7. 創建數據庫連接類java
- 8. 哪種方法可以在類中建立數據庫連接?
- 9. 我可以在雲中創建數據庫嗎?
- 10. 我可以在Nunit中創建數據庫死鎖測試嗎?
- 11. 我可以將BACPAC數據導入數據庫項目嗎?
- 12. 我可以直接連接到AngularJS的MySQL數據庫嗎?
- 13. 我可以直接從我的Arduino中將項目放入MySQL數據庫嗎?
- 14. 如何在可可中創建SQL數據庫連接
- 15. 我可以在FTP服務器上創建SQL數據庫嗎?
- 16. 我可以在VS2010中創建網站項目類型嗎
- 17. 我可以從PHP創建我自己的數據庫嗎?
- 18. 我如何可以使用預先創建的數據庫在我的項目
- 19. 我應該每次爲PHP創建數據庫連接嗎?
- 20. 在連接上創建PostgreSQL數據庫
- 21. 我可以在Oracle中鏈接數據庫鏈接嗎?
- 22. 我們可以使用odbc只與java連接數據庫嗎?
- 23. 可以在Dropwizard中配置多個數據庫連接嗎?
- 24. 在android項目上創建數據庫
- 25. 我可以通過Travis在一個存儲庫中創建一些項目嗎?
- 26. 數據庫項目可以使用machine.config連接字符串進行部署嗎?
- 27. 在Classic asp中,我可以在Session對象中存儲數據庫連接嗎?
- 28. 可以爲數據庫表創建類/對象嗎?
- 29. 在qt中創建數據庫連接的類
- 30. 創建一個數據庫,所有項目都可以使用