Что происходит в этом методе ExecuteDataset? - PullRequest
0 голосов
/ 23 марта 2009

ОК, поэтому я на одной странице нахожу эту строку:

objDsCourse = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings("connstr").ConnectionString, CommandType.StoredProcedure, "Course_NewReportGet_Get_Sav", objPAra)

И я скопировал ее на другую страницу, чтобы начать изменять ее для работы там:

getData = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings("connstr").ConnectionString, CommandType.StoredProcedure, "Course_NewReportGet_Get_Sav", objPAra)

Однако на новой странице он подчеркивает .ConnectionStrings, говоря, что неотзываемый элемент 'System.Configuration.ConfigurationManager.ConnectionStrings' нельзя использовать как метод '... тогда почему он работал на другой странице ??

РЕДАКТИРОВАТЬ: ОК, так что я нашел в web.config то, что я думаю, что он ссылается, потому что он говорит

<add name="ConnStr" connectionString="data source=..." />

Почему одна страница имеет доступ к этому, а другая нет?

Ответы [ 2 ]

2 голосов
/ 23 марта 2009

Есть ли вероятность того, что одна страница использует VB.NET, а другая - C #?

0 голосов
/ 23 марта 2009

Я бы согласился с Даниилом. В Visual Basic ссылки на объекты и методы словаря указываются с помощью круглых скобок. Это может вызвать некоторую путаницу.

Таким образом, в VB ConfigurationManager.ConnectionStrings("connstr") будет указывать на объект ConnectionString с ключом "connstr" в словаре.

В C # на словарные объекты ссылаются квадратные скобки [], поэтому ConfigurationManager.ConnectionStrings("connstr") будет буквально означать «вызов метода ConnectionStrings объекта ConfigurationManager с использованием« connstr »в качестве параметра.»

Короче говоря, проверьте объявление <% @ Page%> вверху, чтобы убедиться, что обе страницы на одном языке. ... или на странице с ошибкой измените строку на использование синтаксиса ConfigurationManager.ConnectionStrings["connstr"].

...