我有这样的输出 关于Columns to Rows in Sql Server with multiple data
EmployeeID 01/01/2018 | 01/02/2018 | 01/03/2018
00001 07:00 AM - 05:00PM | 07:00 AM - 05:00PM | 07:00 AM - 05:00PM
00002 07:00 AM - 05:00PM | 07:00 AM - 05:00PM | 07:00 AM - 05:00PM
问题是如何在Web服务中调用字段名称 这是我的代码
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
my_cs var = new my_cs ();
var.DTRDate = rdr["01/01/2018"].ToString();
var.DTRDate = rdr["01/02/2018"].ToString();
var.DTRDate = rdr["01/03/2018"].ToString();
mylist.Add(var);
}
con.Close();
它说:
System.IndexOutOfRangeException:“ 2018年1月1日” System.Data.ProviderBase.FieldNameLookup.GetOrdinal(字符串fieldName) 在System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)在 System.Data.SqlClient.SqlDataReader.get_Item(字符串名称)
需要帮助。
答案 0 :(得分:1)
不确定您出了什么问题,我认为这些字段的名称与您期望的名称不同。
您可以调试rdr来检查字段名称是什么,或检查以下问题:
Can you get the column names from a SqlDataReader?
但是您始终可以按索引访问字段
while (rdr.Read())
{
my_cs var = new my_cs ();
var.DTRDate1 = rdr[0].ToString();
var.DTRDate2 = rdr[1].ToString();
var.DTRDate3 = rdr[2].ToString();
mylist.Add(var);
}