executeReader的结果集是项目列表
while (reader.Read())
{
mailbody +=
"<tr>" +
"<td>" + reader["DevName"].ToString() + "</td>" +
"<td>" + reader["DevId"].ToString() + "</td>" +
"<td>" + reader["LocationID"].ToString() + "</td>" +
"<td>" + reader["LocationName"].ToString() + "</td>" +
"<td>" + reader["SubLocationID"].ToString() + "</td>" +
"<td>" + reader["IPV6"].ToString() + "</td>" +
"<td>" + reader["LastConnected"].ToString() + "</td>" +
"<td>" + reader["LastDisconnected"].ToString() + "</td>" +
"<td>" + reader["Online"].ToString() + "</td>" +
"<td>" + reader["HardwareSerialNumber"].ToString() + "</td>" +
"<td>" + reader["ServiceProviderID"].ToString() + "</td>" +
"<td>" + reader["DateLastModified"].ToString() + "</td>" +
"</tr>";
}
这是存储过程的结果集
答案 0 :(得分:0)
您的SP缺少您要引用的几列:
"<td>" + reader["LocationName"].ToString() + "</td>" +
"<td>" + reader["LastConnected"].ToString() + "</td>" +
"<td>" + reader["LastDisconnected"].ToString() + "</td>" +
最后2个可能是LastConnTime
和LastDisconnTime
。确保名称匹配100%。
答案 1 :(得分:0)
在存储过程中指定名称为“ LocationName”的列或删除行
"<td>" + reader["LocationName"].ToString() + "</td>" +
这是错误消息的是告诉你的一部分列,它无法找到:
编辑:可能还有几列与“存储过程”输出不匹配的列,但是您需要做的只是看看@其他信息,这是错误的一部分。
EDIT2:寻找@结果集从存储过程也会有问题找到列:“LastConnected”和“LastDisconnected”,因此该解决方案将是相同的或者删除的行或将其重命名(如在该示例中波纹管),以通过您的存储过程中提供的列名
"<td>" + reader["LastConnTime"].ToString() + "</td>" +
"<td>" + reader["LastDisconnTime"].ToString() + "</td>" +