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

C# 4.0 asp.net中的索引超出范围异常,c#-4.0,C# 4.0,在尝试连接到数据库时,我在页面加载方法中编写了以下代码: SqlConnection con = new SqlConnection(constring); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); cmd.CommandText = "select pid from pid";

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

    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
语句)。否则,您的查询可能有问题(从同名对象中选择列似乎不正确)


cmd.CommandText=“插入Plist(Pid、passengername、flightid、Flightname、Fromstation、Tostation、category、DateandTimeings)值(“+Autonumber()+”、“+TextBox1.Text+”、“+DropDownList1.Text+”、“+DropDownList2.Text+”、“+DropDownList3.Text+”、“+DropDownList4.Text+”、“+DropDownList5.Text+”、“+DropDownList6.Text+”)"; int i=cmd.ExecuteNonQuery();错误消息:System.Data.SqlClient.SqlException:当identity_insert设置为OFF时,无法在表“Plist”中为identity列插入显式值。这意味着您无法在identity列中插入显式值。您的insert语句可能是错误的。
int retVal = default( int );

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

return retVal;