发生未处理的异常 - System.IndexOutOfRangeException:upc

时间:2011-05-05 23:54:45

标签: c# .net asp.net

我在名为upc的数据库中添加了一个新表。

当我将它添加到我们网站的前端时,我收到此错误:

  

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

     

异常详细信息:System.IndexOutOfRangeException:upc

来源错误:

    if (!Sdr["upc"].ToString().Trim().Equals(""))

           liupc.InnerHtml = "upc: " + Sdr["upc"].ToString();

    else

我不确定这个错误意味着什么或我如何解决它 - 非常感谢任何见解。

3 个答案:

答案 0 :(得分:2)

我猜(你真的需要显示更多代码)“Sdr”是一个SqlDataReader实例。如果是这种情况,则不会在调用SqlCommand.ExecuteReader()之后引用索引器中的表,而是引用表中的列(或任何结果集)。

类似的东西:

SqlCommand cmd = ...;

SqlDataReader Sdr = cmd.ExecuteReader();

while(Sdr.Read())
{
    var value = Sdr["column_name"];
    // etc...
}

另请参阅System.Data.SqlClient.SqlDataReader

答案 1 :(得分:1)

简单地说,它没有将“upc”识别为数组Sdr中的字符串索引。

答案 2 :(得分:0)

将第120行更改为

if(!string.IsNullOrEmpty(Sdr["upc"]))

并试试。