我正在使用asp.net和VB编写Web工具。我的客户已经指示我使用web.config文件来保存数据库连接字符串(而不是使用我迄今为止一直在做的全局变量)。
大多数在线帮助都同意如何执行此操作,但存在细微差别。 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#。但在我的代码隐藏中,我得到了错误&#34;类型的值&#39; System.Configuration.ConnectionStringSettingsCollection&#39;无法转换为&#39; String&#39;。&#34;如果我将连接字符串更改为对象:
Dim conn as object
然后错误消失了,但我不认为解决了这个问题。任何人都可以告诉我为什么上面的代码不能在我的web.config文件中呈现字符串?根据多个论坛,这应该有效。
感谢您的帮助。
编辑:
我确实尝试使用&#39; ConnectionString&#39;来结束这一行。 (最终&#39; s&#39;删除),这是在线帮助 - 相同的结果。我离开了决赛的#39;在我的代码中,因为Microsoft&#39; Intellesense&#39;东西把它放在那里,但它给了我相同的结果。
进一步编辑:
当我将conn更改为&#39; Object&#39;类型,我的代码告诉我&#39;标识符预期&#39; [&#34; MyConn&#34;]在哪里。虽然有几个在线资源告诉我这是正确的,但似乎有些不对劲。
再次感谢。
答案 0 :(得分:2)
conn =
ConfigurationManager.ConnectionStrings["MyConn"].ConnectionStrings
必须(注意VB.NET风格)
conn =
ConfigurationManager.ConnectionStrings("MyConn").ConnectionString
然后返回一个字符串。
答案 1 :(得分:0)
上一个参考,
但是我发现页面顶部有以下必要条件
Imports System.Data
Imports System.Data.SqlClient
还包含'.ToString'
Dim conn As String = ConfigurationManager.ConnectionStrings("MyConn").ConnectionString.ToString