在尝试连接数据库时,我在页面加载方法中编写了以下代码:
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没有行 怎么办?
答案 0 :(得分:0)
据推测,您的查询没有返回任何行。相应地处理(如果查询可能没有返回任何行,则添加if
语句)。否则,您的查询可能会出现问题(从同名对象中选择一列似乎不对)。
int retVal = default( int );
if( dt.Rows.Count == 1 )
{
retVal = (int)dt.Rows[0][columnName];
}
return retVal;