我在名为upc
的数据库中添加了一个新表。
当我将它添加到我们网站的前端时,我收到此错误:
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.IndexOutOfRangeException:upc
来源错误:
if (!Sdr["upc"].ToString().Trim().Equals(""))
liupc.InnerHtml = "upc: " + Sdr["upc"].ToString();
else
我不确定这个错误意味着什么或我如何解决它 - 非常感谢任何见解。
答案 0 :(得分:2)
我猜(你真的需要显示更多代码)“Sdr”是一个SqlDataReader实例。如果是这种情况,则不会在调用SqlCommand.ExecuteReader()之后引用索引器中的表,而是引用表中的列(或任何结果集)。
类似的东西:
SqlCommand cmd = ...;
SqlDataReader Sdr = cmd.ExecuteReader();
while(Sdr.Read())
{
var value = Sdr["column_name"];
// etc...
}
答案 1 :(得分:1)
简单地说,它没有将“upc”识别为数组Sdr
中的字符串索引。
答案 2 :(得分:0)
将第120行更改为
if(!string.IsNullOrEmpty(Sdr["upc"]))
并试试。