【发布时间】:2014-04-01 15:48:15
【问题描述】:
我正在使用 asp.net 和 VB 编写一个网络工具。我的客户指示我使用 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# 中工作。但在我的代码隐藏中,我收到错误“'System.Configuration.ConnectionStringSettingsCollection' 类型的值无法转换为'String'。”如果我将连接字符串更改为对象:
Dim conn as object
然后错误消失了,但我认为这不能解决问题。谁能告诉我为什么上面的代码不会在我的 web.config 文件中呈现字符串?根据多个论坛的说法,这应该可行。
感谢您的帮助。
编辑:
我确实尝试使用在线帮助中的“ConnectionString”(删除最后的“s”)结束该行 - 结果相同。我在我的代码中留下了最后的 's',因为 Microsoft 'Intellesense' 东西把它放在那里,但无论哪种方式,它都给了我相同的结果。
进一步编辑:
当我将 conn 更改为“Object”类型时,我的代码会告诉我“Identifier Expected”[“MyConn”] 在哪里。似乎确实有问题,尽管一些在线资源告诉我这是正确的。
再次感谢。
【问题讨论】:
-
s是在conn = ConfigurationManager.ConnectionStrings["MyConn"].ConnectionStrings的最后一个错字吗? -
谢谢安德鲁 - 请参阅编辑。
标签: asp.net vb.net web-config connection-string