读书人

错误详细信息: System.IndexOutOfRang

发布时间: 2012-10-12 10:17:04 作者: rapoo

异常详细信息: System.IndexOutOfRangeException: 在位置 0 处没有任何行??????????????????????
异常详细信息: System.IndexOutOfRangeException: 在位置 0 处没有任何行。

源错误:


行 62: DataSet product = new DataSet();
行 63: sqlAdapter1.Fill(product,TableName);
行 64: return product.Tables[0].Rows[0];
行 65:
行 66: }


源文件: c:\Inetpub\wwwroot\TragramMini\WebTragMini\App_Code\DBOperate.cs 行: 64

IndexOutOfRangeException: 在位置 0 处没有任何行。]
System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex) +1879674
System.Data.DataRowCollection.get_Item(Int32 index) +14
TangramMiniWeb.DBOperate.GetDataRow(String sql, String TableName, String dbname) in c:\Inetpub\wwwroot\TragramMini\WebTragMini\App_Code\DBOperate.cs:64
TangramMiniWeb.CommonFuntion.getAffiche(Int32 BigClass_ID, Int32 SmallClass_ID) in c:\Inetpub\wwwroot\TragramMini\WebTragMini\App_Code\CommonFuntion.cs:102
TangramMiniWeb.list.Page_Load(Object sender, EventArgs e) in c:\Inetpub\wwwroot\TragramMini\WebTragMini\tan\default.aspx.cs:31
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061


源码为:

DBOperate.cs

public static DataRow GetDataRow(string sql, string TableName, string dbname)
{
SqlConnection sqlConnection = new SqlConnection(strCon);
SqlDataAdapter sqlAdapter1 = new SqlDataAdapter(sql, sqlConnection);
DataSet product = new DataSet();
sqlAdapter1.Fill(product,TableName);
return product.Tables[0].Rows[0];此句就不能通过测试?????

}

2.

public static string getAffiche(int BigClass_ID,int SmallClass_ID)
{
//获取公告信息
string r= " ",sql;
if (SmallClass_ID == 0)
{


sql = "SELECT affiche FROM affiche WHERE (BigClass_ID = " + BigClass_ID.ToString() + ") ";
}
else
{
sql = "SELECT affiche FROM affiche WHERE (BigClass_ID = " + BigClass_ID.ToString()
+ ") AND (SmallClass_ID = " + SmallClass_ID.ToString() + ") ";
}

DataRow dr=DBOperate.GetDataRow(sql, "affiche ", "TangramMiniWeb ");???????????????

r = dr[ "affiche "].ToString();

return r;
}




[解决办法]
看看你的sql 在数据库中跑一下 看看能取出数据否?
[解决办法]
是没有数据的时候,你引用了
[解决办法]
是啊,将断点设到return product.Tables[0].Rows[0];此句就不能通过测试?????,查看一下ds中是否有记录,十之八九是SQL语句有问题。
[解决办法]
return product.Tables[0].Rows.Count==0?null:product.Tables[0].Rows[0];
[解决办法]
没有满足要求的数据被检索到,product.Tables[0] = NULL

读书人网 >C#

热点推荐