0

名前を返すストアド プロシージャがあるので、C# で名前を取得する必要があります。

だから私はC#からSpを実行し、ExecuteReader()以下のように出力を読むだけです

 using (var objCommand = new SqlCommand("SpName", objConnection))
                    {
                        objCommand.Parameters.AddWithValue("@Param1", Param);
                        objCommand.Parameters.AddWithValue("@Purpose", Purpose);
                        objConnection.Open();
                        objCommand.CommandType = CommandType.StoredProcedure;
                        using (var reader = objCommand.ExecuteReader())
                        {

                                while (reader.Read())
                                {

                                    objemailsend.Name = Convert.ToString(reader["Name"]);
                                }

                        }
                    }

         objConnection.Close();

それは例外を与える

インデックス範囲外例外

インデックス名は同じだと確信しています。つまり、Spも同じ名前を返します

Name
----
name1

上記のように

次に、以下のようなことを試してみましたが、例外が消えて、値がどこから来たのかわからない数値が返され、SPの結果と同じではありません

objexample.Name = reader[0].ToString();

も試した

 using (var reader = objCommand.ExecuteReader())
                        {
                             if (reader.HasRows)
                        {
                                while (reader.Read())
                                {

                                    objemailsend.Name = Convert.ToString(reader["Name"]);
                                }
}

                        }

でも同じエラー

誰か私の問題を解決するのを手伝ってくれませんか。

4

2 に答える 2