有时候网页很正常显示出来,有时候不得,大多数时间不得,,所以来求助大家,帮帮解决问题先,,我白天没时间,,晚上追问,不过还是希望晚上就找到答案,没有什么给大家,只能给分,希望帮帮忙,数据库没问题,我自己建个测试页,百试不断线,千试不爽手,里面有内容,但是我的网页却返回那样的提示(没有表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
解决方案 »
- 关于datatable.Compute("sum(je)", "")当datatable为空时怎么处理?
- 敲回车触发按钮事件的问题
- 关于建一个博客或播客问题
- 大家有没有好的添加页面代码html的样子要好看的,连同css一起的
- 模版控件内可否嵌入另一个模版控件?
- System.Data.OleDb.OleDbPermission错误
- vb.net進行web開發的問題(挑戰性的)
- 请教,为什么我的EXCEL文件名会出现乱码
- 100分請教:水晶報表散布圖問題,是高手的過來看看!
- 服务器端导出Excel文件,出现错误,检索 COM 类工厂中 CLSID 为的组件失败。求大神解决,遇见过这个实际错误的!!
- 使用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,我能连得上,应该不关这里的事,,因为我单独建一页面连接库很正常