我有以下代码从存储过程中获取值表。我的目标是将我从存储过程收到的表保存到某个列表或 IEnumerable 中,以便稍后在代码中处理它。
存储过程返回两行:id 和 Name。该代码工作正常,除非我使用它在 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();
}
我认为我在以下两行代码中犯了错误,它们也只是写列名而不是值:
c.ColumnMapping=MappingType.Attribute;
Console.WriteLine(c.ColumnName.ToArray());
任何建议如何纠正它?谢谢