有时候网页很正常显示出来,有时候不得,大多数时间不得,,所以来求助大家,帮帮解决问题先,,我白天没时间,,晚上追问,不过还是希望晚上就找到答案,没有什么给大家,只能给分,希望帮帮忙,数据库没问题,我自己建个测试页,百试不断线,千试不爽手,里面有内容,但是我的网页却返回那样的提示(没有表0,也就是变量里没有数据)
帖码给大家看看,如果还想看别的码,明天晚上再发,,我的站很简单,基本就下面这些, <add name="net_sqlServerConn" connectionString="Data Source=ip.xx.xx.xx;Network Library=DBMSSOCN;Initial Catalog=sq_guigang;User ID=sq_guigang;Password=guigang"/>
上面是我远程数据库连接串,
public DataSet Page_DataSet(string s_page,string Table, int M_Number,string WhereAndSql)
//返回DataSet类型,里面有检索回来的库信息
{
DataSet P_Data=new DataSet();
string sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " order by id desc";
int N_page = Request_page(s_page);
if (N_page != 1 && WhereAndSql=="")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " WHERE (id NOT IN (SELECT TOP " + ((N_page - 1) * 20) + " id FROM " + Table + " order by id desc)) order by id desc";
}
else if (N_page != 1 && WhereAndSql != "")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " "+WhereAndSql+" and (id NOT IN (SELECT TOP " + ((N_page - 1) * 20) + " id FROM " + Table + " "+WhereAndSql+" order by id desc)) order by id desc";
}
else if(N_page==1 && WhereAndSql!="")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " " + WhereAndSql + " order by id desc";
}
try
{
SqlConnection myCon = new SqlConnection(myConnStr);
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlstr, myCon);
myAdapter.Fill(P_Data, Table);
}
catch (Exception e)
{
System.Web.HttpContext.Current.Response.Write("Error_page.aspx?msg=数据有问题,如有疑问请联系站长!" + e);
}
return P_Data;
}上面是我写的一个类,取数据用的,
//显示类目信息
Data_Class ds = new Data_Class("sqlServer");
DataSet dsms= new DataSet();
//城市生活
dsms = ds.Page_DataSet("1", "Article", 12, "where class='chengshishenghuo'");
chengshishenghuo.InnerHtml = "<ul>";
for (int i = 0; dsms.Tables[0].Rows.Count > 0 && i < dsms.Tables[0].Rows.Count; i++)
{
string aLink = "<a href='contents.aspx?class_str=chengshishenghuo&ConId=" + ds.encryption(dsms.Tables[0].Rows[i]["id"].ToString()) + "' title='" + dsms.Tables[0].Rows[i]["title"].ToString() + "' target='_blank'>";
string titles = (dsms.Tables[0].Rows[i]["title"].ToString().Length > 25 ? dsms.Tables[0].Rows[i]["title"].ToString().Substring(0, 25) + "..." : dsms.Tables[0].Rows[i]["title"].ToString());
chengshishenghuo.InnerHtml += "<li>" + aLink + titles + "</a></li>";
}
chengshishenghuo.InnerHtml += "</ul>";
上面是用来显示读取到的数据的
我知道用下面的判断对DataSet变量判断后再用,但我加上后没有值输出,所以还是寻找根本原因先if (dsms != null && dsms.Tables.Count > 0)
{ }
else
{
chengshishenghuo.InnerHtml = "没有信息!";
}
我不加判断出的提示是:Server Error in '/' Application.
--------------------------------------------------------------------------------Cannot find table 0.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.IndexOutOfRangeException: Cannot find table 0.Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
[IndexOutOfRangeException: Cannot find table 0.]
System.Data.DataTableCollection.get_Item(Int32 index) +95
Data_Class.add(String field, String adds) +870
moban_MasterPage.Page_Load(Object sender, EventArgs e) +707
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
帖码给大家看看,如果还想看别的码,明天晚上再发,,我的站很简单,基本就下面这些, <add name="net_sqlServerConn" connectionString="Data Source=ip.xx.xx.xx;Network Library=DBMSSOCN;Initial Catalog=sq_guigang;User ID=sq_guigang;Password=guigang"/>
上面是我远程数据库连接串,
public DataSet Page_DataSet(string s_page,string Table, int M_Number,string WhereAndSql)
//返回DataSet类型,里面有检索回来的库信息
{
DataSet P_Data=new DataSet();
string sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " order by id desc";
int N_page = Request_page(s_page);
if (N_page != 1 && WhereAndSql=="")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " WHERE (id NOT IN (SELECT TOP " + ((N_page - 1) * 20) + " id FROM " + Table + " order by id desc)) order by id desc";
}
else if (N_page != 1 && WhereAndSql != "")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " "+WhereAndSql+" and (id NOT IN (SELECT TOP " + ((N_page - 1) * 20) + " id FROM " + Table + " "+WhereAndSql+" order by id desc)) order by id desc";
}
else if(N_page==1 && WhereAndSql!="")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " " + WhereAndSql + " order by id desc";
}
try
{
SqlConnection myCon = new SqlConnection(myConnStr);
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlstr, myCon);
myAdapter.Fill(P_Data, Table);
}
catch (Exception e)
{
System.Web.HttpContext.Current.Response.Write("Error_page.aspx?msg=数据有问题,如有疑问请联系站长!" + e);
}
return P_Data;
}上面是我写的一个类,取数据用的,
//显示类目信息
Data_Class ds = new Data_Class("sqlServer");
DataSet dsms= new DataSet();
//城市生活
dsms = ds.Page_DataSet("1", "Article", 12, "where class='chengshishenghuo'");
chengshishenghuo.InnerHtml = "<ul>";
for (int i = 0; dsms.Tables[0].Rows.Count > 0 && i < dsms.Tables[0].Rows.Count; i++)
{
string aLink = "<a href='contents.aspx?class_str=chengshishenghuo&ConId=" + ds.encryption(dsms.Tables[0].Rows[i]["id"].ToString()) + "' title='" + dsms.Tables[0].Rows[i]["title"].ToString() + "' target='_blank'>";
string titles = (dsms.Tables[0].Rows[i]["title"].ToString().Length > 25 ? dsms.Tables[0].Rows[i]["title"].ToString().Substring(0, 25) + "..." : dsms.Tables[0].Rows[i]["title"].ToString());
chengshishenghuo.InnerHtml += "<li>" + aLink + titles + "</a></li>";
}
chengshishenghuo.InnerHtml += "</ul>";
上面是用来显示读取到的数据的
我知道用下面的判断对DataSet变量判断后再用,但我加上后没有值输出,所以还是寻找根本原因先if (dsms != null && dsms.Tables.Count > 0)
{ }
else
{
chengshishenghuo.InnerHtml = "没有信息!";
}
我不加判断出的提示是:Server Error in '/' Application.
--------------------------------------------------------------------------------Cannot find table 0.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.IndexOutOfRangeException: Cannot find table 0.Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
[IndexOutOfRangeException: Cannot find table 0.]
System.Data.DataTableCollection.get_Item(Int32 index) +95
Data_Class.add(String field, String adds) +870
moban_MasterPage.Page_Load(Object sender, EventArgs e) +707
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
解决方案 »
- aspnetpager 多参数url分页重新,急
- 为什么我的浏览器关了,SQL还在执行?
- access的传参模糊查询
- updatepanel中如何使网页转页
- formatDate(varDate, bstrFormat, varDestLocale)
- 关于高级查询结果分页显示的问题
- 问了半个月了,来者有分,关于asp.net连接数据库代码优化!
- 求教,困扰了好长时间没有解决?
- 求application center test 下载地址,我没有安装vs.net,who有安装程序?
- asp.net 关于IE隐藏状态栏显示地址 的大难题
- 使用jmail发送邮件问题
- 关于 JAVASCRIPT ,弹出层的相关疑问
首先选中服务器(右键)->属性->安全性->服务器身份验证修改为"SQL SERVER和WINDOWS身份验证模式"
其次展开服务器上的"安全性"->登陆名->选中SA登陆帐号(右键)->状态->登陆修改为启用
{
SqlConnection myCon = new SqlConnection(myConnStr);
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlstr, myCon);
myAdapter.Fill(P_Data, Table); if (P_Data.Tables.Count == 0)
{
throw new Exception("no table returned, sql statement is:" + sqlstr);
}
}看看执行的sql语句是什么。
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " WHERE (id NOT IN (SELECT TOP " + ((N_page - 1) * 20) + " id FROM " + Table + " order by id desc)) order by id desc";
}
else if (N_page != 1 && WhereAndSql != "")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " "+WhereAndSql+" and (id NOT IN (SELECT TOP " + ((N_page - 1) * 20) + " id FROM " + Table + " "+WhereAndSql+" order by id desc)) order by id desc";
}
else if(N_page==1 && WhereAndSql!="")
{
sqlstr = "SELECT TOP " + M_Number + " * FROM " + Table + " " + WhereAndSql + " order by id desc";
}
else
{
是不是进这里了,可以throw个Exception试一试
}
我估计你的原因是sql并发连接达到最大了
在函数结束前把sql连接关了估计马上就好了
像你这种每次都new出来的连接不关闭的话会出大问题的!
在return前面加上mycon.close();
{
SqlConnection myCon = new SqlConnection(myConnStr);
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlstr, myCon);
myAdapter.Fill(P_Data, Table);
return P_Data; }
catch (Exception e)
{
System.Web.HttpContext.Current.Response.Write("Error_page.aspx?msg=数据有问题,如有疑问请联系站长!" + e);
return null;
}看看返回什么
小的不明白你说的是什么,,不过从站点上测试得出函数返回的dataset里确实没数据,访问库的代码没提示出错,而且有时候又正常(返回有数据),,出错是出在读取空值的dataset变量上
加了断点,执行的SQL语句是:SELECT TOP 12 * FROM Article where class='chengshishenghuo' order by id desc因为有时候得,所以我没发觉SQL语句有问题
SELECT TOP 12 * FROM Article where [class]='chengshishenghuo' order by id desc
试试
我没用sa,而且用的是服务商的空间,帐号密码IP,我能连得上,应该不关这里的事,,因为我单独建一页面连接库很正常