0
DataSet ds = new DataSet("Transactions");

using (SqlConnection conn = new SqlConnection("myConnectionString"))
{
   SqlCommand sqlComm = new SqlCommand("[dbo].[GetFullTransactionList]", conn);
   sqlComm.CommandType = CommandType.StoredProcedure;

   SqlDataAdapter da = new SqlDataAdapter();
   da.SelectCommand = sqlComm;
   da.Fill(ds);
}

return ds;

の関連コンテンツapp.config:

<configuration>
   <connectionStrings>
      <add name="myConnectionString"
           connectionString="Data Source=LAPTOP-LT;Initial Catalog=myDb;User ID=sa;Password=abc"
           providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

私はこの例外を受けています:

初期化文字列の形式が、インデックス 0 から始まる仕様に準拠していません。 説明: 現在の Web 要求の実行中に、未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.ArgumentException: 初期化文字列の形式が、インデックス 0 から始まる仕様に準拠していません。

ソース エラー:

Line 44:             DataSet ds = new DataSet("Transactions");
Line 45:             using (SqlConnection conn = new SqlConnection("myConnectionString"))
4

3 に答える 3

0

構成ファイルから接続文字列を使用するには、それにアクセスする必要がありますConfigurationManager

したがって、次のようになります。

   using (SqlConnection conn = new 
     SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"]))
   {
          ...
   }

詳細については、ドキュメントを参照してください

于 2013-07-22T12:10:18.083 に答える
0

SqlConnection は、app.config からのキーではなく、実際の接続文字列を想定しています。で読んでみてください

ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString
于 2013-07-22T12:11:34.003 に答える