sql-server - 使用 Web 服务方法从 SQL Server Pivot 检索数据
问题描述
我有一个与Sql Server 中的 Columns to Rows 相关的输出,其中包含多个数据
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:System.Data.SqlClient.SqlDataReader.GetOrdinal(String name) 的 System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) 的 System.Data.SqlClient.SqlDataReader.get_Item(字符串名称)
需要帮忙..
解决方案
不确定您有什么错误,我假设这些字段具有您期望的不同名称。
您可以调试 rdr 以检查字段名称是什么或检查以下问题:
但是您始终可以按索引访问字段
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);
}
推荐阅读
- angular - 表单上的 onChange 事件仅在模糊后才发出输出事件
- c++ - 分段错误 - 试图将 matlab 代码传递给 c++
- sql - 循环遍历表并选择 100 行,然后选择接下来的 100 行..etc
- javascript - 新 HTML 在当前电子窗口中打开而不是新窗口
- android - 在 Android EditText 中验证位置坐标
- php - php代码在本地工作,但不在服务器上
- c# - 面板上的 Unity C# 按钮不起作用将脚本放在按钮上
- javascript - 从另一个方法访问方法属性
- angular - 使用 Firestore Observables 时,如何使用 switchmap 或其他 rxjs 选项重构嵌套订阅?
- javascript - 如何在 redux 工具包中将参数传递给 createAsyncThunk?