在asp.net运网页时,出现用户代码未处理indexoutofrangeexception,还有在位置零出没任何行。是什么原因?

2025-05-23 17:13:32
推荐回答(3个)
回答(1):

这是因为没有取到数据的问题。你可以对ds做一下为null的判断
public static DataRow dr(string query) {
DataRow dr=null;
.....
....
DataSet ds = new DataSet();
sda.Fill(ds, "anounce");
if (ds.Tables["anounce"]!=null && ds.Tables["annouce"].Rows.Count>0)
{
dr=ds.Tables["anounce"].Rows[0];
}
return dr;
}

回答(2):

return之前需要判断下ds.Tables["anounce"].Rows[0]; 是否存在。

回答(3):

OleDbDataAdapter sda = new OleDbDataAdapter(query, con) 从数据库中没读到数据,可能是query 中的sql语句有问题.