ストアド プロシージャから値のテーブルを取得する次のコードがあります。私の目標は、ストアド プロシージャから受け取ったテーブルを何らかのリストまたは IEnumerable に保存して、後でコードで処理することです。
ストアド プロシージャは、id と Name の 2 つの行を返します。テストのためにforeachループに値を書き込むために使用する場合を除いて、コードは正常に機能しています。値ではなく列名のみをリストします。
string cs =ConfigurationManager.ConnectionStrings["con1"].ToString();
string procName= "testing2";
SqlConnection conn=new SqlConnection(cs);
try
{
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(procName, conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
da.Fill(ds);
ds.Tables[0].TableName = "Rows";
foreach (DataColumn c in ds.Tables[0].Columns)
{
c.ColumnMapping=MappingType.Attribute;
Console.WriteLine(c.ColumnName.ToArray());
}
}
catch (Exception e)
{
Console.Write("Error" + e);
}
finally
{
conn.Close();
}
値の代わりに列名を書いているだけの次の2行のコードで間違いを犯していると思います:
c.ColumnMapping=MappingType.Attribute;
Console.WriteLine(c.ColumnName.ToArray());
それを修正する方法はありますか?ありがとう