错误信息如 文章标题 所示。是在做一个分页查询时出的这个错误,错误很诡异,具体步骤如下: string strWhere = "nclassName like '" + musicName + "' or musicName like '%"+musicName+"%'";
protected void Page_Load(object sender, EventArgs e)
{
int recordCount = 0;
//传入假参数,为了取得总数量,因为总数量在页面初始化时就要赋值
this.GridView1.DataSource = MusicList_BLL.SelectDataTableByPage(_tblName, descid, _fldName, strWhere, 1,1,1, ref recordCount);
this.GridView1.DataBind();
AspNetPager1.RecordCount = recordCount;
} //再页面载入时\点击页数时会触发这事件,
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
int recordCount = 0;
this.GridView1.DataSource = MusicList_BLL.SelectDataTableByPage(_tblName, descid, _fldName, strWhere, 1, AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, ref recordCount);
this.GridView1.DataBind();
}为了让问题看起来方便,我就简化了传值赋值逻辑判断这些代码,SelectDataTableByPage方法是对的,参数descid,_fldName,这些值都是没有问题。在我第一次加载这个页面,比如搜索 张学友 的时候,会正常显示PageSize条记录,但当我点击下一页或者2,3,4,5.....页时,就报出超时信息。我设置断点跟踪了,两次走的步骤完全一样,唯一不同的就是第一次传入参数CurrentPageIndex为1,第二次为用户自己点的页面数,既然第一次正常显示了,代表传参及数据库查询都不存在问题,但为什么第二次传入CurrentPageIndex就报超时呢?当然所有参数都是正常传入。在网上搜索了相关问题的解决办法
web.config 已经设置,跟它无关,如果有关,第一次查询也不可能成功。<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="1024000" executionTimeout="900" />设置sqlcommond的timeout。这个也设置了,没效果(实质跟web.config配置效果一样)
设置sqlconnection 的 Connect Timeout。这个也设置了,依旧报错。有的人说查询复杂,给相应字段设置索引,这个也设置了,没效果。请问大侠们这大概什么原因啊, 实在是想不明白。
protected void Page_Load(object sender, EventArgs e)
{
int recordCount = 0;
//传入假参数,为了取得总数量,因为总数量在页面初始化时就要赋值
this.GridView1.DataSource = MusicList_BLL.SelectDataTableByPage(_tblName, descid, _fldName, strWhere, 1,1,1, ref recordCount);
this.GridView1.DataBind();
AspNetPager1.RecordCount = recordCount;
} //再页面载入时\点击页数时会触发这事件,
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
int recordCount = 0;
this.GridView1.DataSource = MusicList_BLL.SelectDataTableByPage(_tblName, descid, _fldName, strWhere, 1, AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, ref recordCount);
this.GridView1.DataBind();
}为了让问题看起来方便,我就简化了传值赋值逻辑判断这些代码,SelectDataTableByPage方法是对的,参数descid,_fldName,这些值都是没有问题。在我第一次加载这个页面,比如搜索 张学友 的时候,会正常显示PageSize条记录,但当我点击下一页或者2,3,4,5.....页时,就报出超时信息。我设置断点跟踪了,两次走的步骤完全一样,唯一不同的就是第一次传入参数CurrentPageIndex为1,第二次为用户自己点的页面数,既然第一次正常显示了,代表传参及数据库查询都不存在问题,但为什么第二次传入CurrentPageIndex就报超时呢?当然所有参数都是正常传入。在网上搜索了相关问题的解决办法
web.config 已经设置,跟它无关,如果有关,第一次查询也不可能成功。<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="1024000" executionTimeout="900" />设置sqlcommond的timeout。这个也设置了,没效果(实质跟web.config配置效果一样)
设置sqlconnection 的 Connect Timeout。这个也设置了,依旧报错。有的人说查询复杂,给相应字段设置索引,这个也设置了,没效果。请问大侠们这大概什么原因啊, 实在是想不明白。
解决方案 »
- 求通用的xml操作类
- 菜鸟的问题:UpdatePanel 与 session的问题
- 如何用parent访问上级元素?
- 表格控件 WebGrid和Farpoint Spread for .Net 比较
- 异常详细信息: System.InvalidOperationException: ConnectionString 属性尚未初始化
- 求助:如何获取treeview选中checkbox的项目的数据库ID
- 请问datagrid隐藏列为什么不行啊? 急。。。
- 怎么才实现页面延时链接呢?
- Asp.net是不是一般不用DataSet的?
- 怎样确定是否是周末?
- SQL Helprt 事务
- 连接别的网站查询 余额 求思路 急。 在线等。
SqlCommand cmd = new SqlCommand();
//cmd.CommandTimeout = 1800;
SqlConnection conn = new SqlConnection(connectionString);
DataTable dt = new DataTable();
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
conn.Close();
cmd.Parameters.Clear();
return dt;
}
catch
{
conn.Close();
throw;
}
用的SqlDataAdapter ,已经关闭。二楼有我贴的代码。