2014-04-01 130 views
0

我正在寫一個使用asp.net和VB的網絡工具。我的客戶指示我使用web.config文件來保存數據庫連接字符串(而不是使用全局變量,我一直在做)。使用web.config(asp.net,vb)來保存數據庫連接字符串

對此的大部分在線幫助在如何執行此操作方面達成一致,但存在細微差異。 web.config文件:

<configuration> 
    <connectionStrings> 
    <add name="MyConn" 
     connectionString="Provider=SQLOLEDB;Data Source=MyServer; 
      Initial Catalog=DBName;Persist Security Info=True;User ID=MyUser; 
      Password=MyPass" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

在我的代碼隱藏頁:

Imports System.Configuration 
Dim conn as String 

conn = 
ConfigurationManager.ConnectionStrings["MyConn"].ConnectionStrings 

我看了這個論壇一致認爲,這應該在VB或者C#的工作。但在我的代碼隱藏中,我收到錯誤「類型'System.Configuration.ConnectionStringSettingsCollection'的值無法轉換爲'String'。」如果我將連接字符串更改爲一個對象:

Dim conn as object 

然後錯誤消失,但我不認爲這是解決問題。任何人都可以告訴我爲什麼上面的代碼不會呈現我的web.config文件中的字符串?根據多個論壇,這應該工作。

感謝您的任何幫助。

編輯:

我曾嘗試與結束「的ConnectionString」(最後的「s」被刪除),這是在線幫助該行 - 同樣的結果。我在代碼中留下了最後的'',因爲微軟的'Intellesense'把它放在那裏,但是它給了我同樣的結果。

進一步編輯:

當我改變了康涅狄格州的「對象」型,我的代碼,告訴我「標識應爲」在[「的myconn」]是。雖然有幾個在線資源告訴我這是正確的,但似乎有什麼問題。

再次感謝。

+0

是否在'conn = ConfigurationManager.ConnectionStrings [「MyConn」]。末尾的's'。ConnectionStrings'是一個錯字? –

+0

謝謝安德魯 - 請參閱編輯。 – Stanton

回答

2
conn = 
ConfigurationManager.ConnectionStrings["MyConn"].ConnectionStrings 

必須是(注意VB.NET風格)

conn = 
ConfigurationManager.ConnectionStrings("MyConn").ConnectionString 

並返回一個字符串。

+0

感謝您的回覆。我在文章中忽略了這一點,但我確實嘗試刪除語法中的最後一個' - 相同的結果。我在代碼中留下了最後的'',因爲微軟的'Intellesense'把它放在那裏,但是它給了我同樣的結果。 – Stanton

+0

好吧,你的代碼示例是C#...我會將其更改爲VB.NET –

+0

嘗試使用我發佈的示例,VB.NET必須使用parens進行索引 –

相關問題