'System.Configuration.ConfigurationManager.AppSettings'是'属性',但用作'方法'

时间:2011-09-20 12:49:07

标签: asp.net

配置文件

<add key="ObjConn" value="Provider=SQLOLEDB;Persist Security Info=True;User
ID=OMembers;PWD=OMembers;Initial Catalog=Omnex2007;Data Source=192.168.100.131"/>

C#代码

strconnection = System.Configuration.ConfigurationManager.AppSettings("ObjConn");
sqlcon = new SqlConnection(strconnection);

3 个答案:

答案 0 :(得分:5)

你需要使用

ConfigurationManager.AppSettings["ObjConn"]

而不是

ConfigurationManager.AppSettings("ObjConn")

首选方法是使用以下配置文件中的设置

<connectionStrings>   
    <add name="ObjConn" connectionString="your connection string" providerName="System.Data.SqlClient"/>
</connectionStrings>

并在代码中使用ConfigurationManager.ConnectionStrings["ObjConn"]来检索它

答案 1 :(得分:4)

strconnection = System.Configuration.ConfigurationManager.AppSettings["ObjConn"]; 
sqlcon = new SqlConnection(strconnection);

这是C#和VB之间的语言语法差异之一。 VB中的数组访问器使用括号(),而在c#中,它们使用方括号[]。

在VB中,Something(1)可以调用名为“Something”的函数并传递1作为参数,或者可能是Something是数组或列表,并且您正在访问索引处的项目1。

在C#中,Something(1)始终是对名为Something的函数的调用,而Something[1]则表示Something是数组或列表,并且您正在访问列表中的项目。 / p>

答案 2 :(得分:2)

在C#中你应该使用

strconnection = System.Configuration.ConfigurationManager.AppSettings["ObjConn"];

更改并重试。 通常,您在编码中尝试访问的Config条目值将在VB.net编码中使用,但在C#中,您应该使用[]内部的密钥名称(字符串格式)方括号,以获取Config条目值。