2011-09-20 4 views
2

Configuration File'System.Configuration.ConfigurationManager.AppSettings' является 'собственностью', но используется как 'метод'

<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); 
+2

Кто голосует за сообщение, не выходя из комментария или повода? Действительно, будьте полезны, если вы собираетесь проголосовать за кого-то. (Хотя я могу сказать, почему это было отклонено - это не вопрос, просто сообщение об ошибке.) - selvi, не забудьте сформулировать свои вопросы как вопросы, чтобы избежать downvotes. (И я не запустил вас, потому что, очевидно, вы просто новичок и не поняли «Принятый» способ использования сайта. Когда вы получите шанс, ознакомьтесь с FAQ.) – David

ответ

2

В C# вы должны использовать как

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

изменить и повторите попытку. Как правило, доступ к значениям входа Config, которые вы пытались использовать в кодировке, будет использоваться в кодировке VB.net, но в C# вы должны использовать [] с ключевым именем (строковым форматом) внутри квадратных скобок, чтобы получить значения входа Config.

3

попробовать

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

Это один из синтаксиса языка различия между C# и VB. Аксесуары массива в VB используют круглые скобки(), а в C# они используют квадратные скобки [].

В VB, Something(1) может вызвать функцию с именем «Нечто» и передавая 1 в качестве параметра, или это может быть что-то есть массив или список, и вы обращаетесь к элементу с индексом 1.

в C#, Something(1) ВСЕГДА обращается к функции с именем Something, а Something[1] указывает, что Something является массивом или списком, и вы получаете доступ к элементу в списке.

3

вам нужно использовать

ConfigurationManager.AppSettings["ObjConn"]

вместо

ConfigurationManager.AppSettings("ObjConn")

Предпочтительным подходом является использование ниже настройки в конфигурационном файле

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

и использовать ConfigurationManager.ConnectionStrings["ObjConn"] в вашем коде для его получения

Смежные вопросы