使用web.config(asp.net, vb)来保存数据库连接字符串。

问题描述 投票:0回答:2

我正在用asp.net和VB.NET编写一个网络工具。我的客户指示我使用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文件中的字符串?根据多个论坛的说法,这应该是可行的。

谢谢你的帮助。

EDIT:

我试过用 "ConnectionString"(去掉最后的 "s")结尾,这在网上的帮助中是有的--结果一样。我在我的代码中留下了最后的's',因为微软的'Intellesense'会把它放在那里,但无论哪种方式都会给我同样的结果。

进一步的编辑。

当我把conn改成 "对象 "类型时,我的代码告诉我 "Identifier Expected",而["MyConn"]就在那里。似乎有什么地方出了问题,尽管一些在线资源告诉我这是正确的。

再次感谢。

asp.net vb.net web-config connection-string
2个回答
2
投票
conn = 
ConfigurationManager.ConnectionStrings["MyConn"].ConnectionStrings

必须是(注意VB.NET的风格)。

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

而这将返回一个字符串。


0
投票

前面指的是,但我发现在页面顶部有必要添加以下内容。

Imports System.Data  
Imports System.Data.SqlClient

还包括'.ToString'。

Dim conn As String = ConfigurationManager.ConnectionStrings("MyConn").ConnectionString.ToString
© www.soinside.com 2019 - 2024. All rights reserved.