2009-03-23 15 views
0

OKので、私は1つのページは、私はこの行を見つける:このExecuteDatasetメソッドでは何が起こっていますか?

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'をメソッドのように使用することはできないと言っています '...それはなぜ他のページで動作しましたか?

EDIT:OK、それは

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

を言うので私は、私はそれが参照している何を考えてweb.configファイルで見つかったのはなぜ1ページが、このへのアクセスおよび他のないを持っているでしょうか?

答えて

2

あるページがVB.NETを使用していて、もう一方のページがC#を使用している可能性はありますか?

+0

はい!それはまさに真実です。私はそれを間違って使用する必要があります...代わりにかっこですか? – BigOmega

+0

かっこのかっこの代わりに角かっこが固定されているようですが、チップのおかげでこんにちは* – BigOmega

0

私はDanielに同意します。 Visual Basicでは、括弧を使用して辞書オブジェクトとメソッドの両方を参照します。これは混乱を招く可能性があります。

VBでは、ConfigurationManager.ConnectionStrings("connstr")は、辞書内のキー「connstr」を持つConnectionStringオブジェクトを指します。

C#では、辞書オブジェクトは角括弧[]で参照されるため、ConfigurationManager.ConnectionStrings("connstr")は "connstr"をパラメータとして使用してConfigurationManagerオブジェクトのメソッドConnectionStringsを呼び出すことを意味します。

短いストーリーで、先頭にある<%@ Page%>宣言をチェックして、両方のページが同じ言語であることを確認してください。 ...またはエラーが発生したページで、ConfigurationManager.ConnectionStrings["connstr"]構文を使用するように行を変更します。

関連する問題