异常详细信息: 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