繁体   English   中英

asp.net中的索引超出范围异常

[英]Index out of range exception in asp.net

在尝试连接数据库时,我在页面加载方法中编写了以下代码:

    SqlConnection con = new SqlConnection(constring);
    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    con.Open();
    cmd.CommandText = "select pid from pid";
    SqlDataAdapter da = new SqlDataAdapter();
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    da.SelectCommand = cmd;
    da.Fill(dt);
    a = Convert.ToInt32(dt.Rows[0][0].ToString()) + 1;
    con.Close();
    return a;

并在代码行中出现错误“ a = Convert.ToInt32(dt.Rows [0] [0] .ToString())+ 1;”为:索引超出范围异常位置0处没有行继续?

据推测,您的查询没有返回任何行。 相应地进行处理(如果查询可能不返回任何行,请添加if语句)。 否则,查询可能会出错(从同名的对象中选择列似乎不正确)。

int retVal = default( int );

if( dt.Rows.Count == 1 )
{
    retVal = (int)dt.Rows[0][columnName];
}

return retVal;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM