异常详细信息: 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 行: 64IndexOutOfRangeException: 在位置 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;
}
行 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 行: 64IndexOutOfRangeException: 在位置 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去数据库表里测试一下
看看有没有返回值!
原因为product.Tables[0].Rows[0];无数据
里面没有数据!
建议用你的sql去数据库表里测试一下
看看有没有返回值!