使用Web服务方法从SQL Server Pivot检索数据

时间:2018-09-12 02:56:25

标签: sql-server

我有这样的输出 关于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(字符串名称)

需要帮助。

1 个答案:

答案 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);
        }