留言簿
2006/4/14 9:24:00 netyoume
为什么不能编译成.dll文件,用csc编译总是报错,找不到Wuqi.Webdiyer.AspNetPager的命名空间,要怎样做
回复:您用什么编译的?是如何编译的?您的.net框架的版本是多少呢?谢谢!
2006/4/14 8:31:00 阿雄
吴大哥,感谢你提供这么好的组件!!
问两个问题:
1.Url分页,Postback分页在控件的那个属性设置区别
2.查询分页,如果有多个参数,怎么办?
问两个问题:
1.Url分页,Postback分页在控件的那个属性设置区别
2.查询分页,如果有多个参数,怎么办?
回复:您好,Url分页是通过UrlPaging这个属性来设置的,其值为true将使用Url分页,默认值为false,即使用回发Postback方式分页;关系查询的问题,这和控件毫无关系,控件和要分页的数据没有直接关系,和从哪里取数据以及如何取数据也没有关系,查询几个字段以及如何实现这样的查询得由您自己来处理的,控件和这些问题没有任何联系。谢谢!
2006/4/14 8:26:00 nihuajun
您好!
请怒小弟厚颜,什么时候出个asp.net 2.0版的分页啊!
请怒小弟厚颜,什么时候出个asp.net 2.0版的分页啊!
回复:对不起,最近半年多一直在忙手头一个项目,已经加了两个月的班了,暂时实在没时间升级控件,等项目七月左右运行后没有什么问题的话我就可以腾出时间升级这个分页控件。不知道您需要什么新功能,或者发现现在的版本有什么bug?您直接留言或直接和我联系,我会在升级时一并解决这些问题并添加新的功能。谢谢!
2006/4/12 10:03:00 范
吴哥,看了你的控件中的access代码,看到你用了adapter.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,"news")这种方法,网上有资料说,这种方法和在数据库中把资料全取出来然后剔除大部分不要的数据的道理是一样的,效率很低,不知道吴哥是怎么看的?或者说有什么新的见解?还是说网上的资料说的是不对的,我看网上说利用类似如下代码进行分页SELECT * FROM (
SELECT TOP @PageSize * FROM (
SELECT TOP @PageSize*(@PageIndex+1) * FROM @TableName
ORDER BY @PrimaryKey ASC
) TableA ORDER BY @PrimaryKey DESC
) TableB ORDER BY @PrimaryKey ASC
吴哥说说吧,谢谢,对了,也谢谢吴哥以前通过电子邮件对小弟的指教
SELECT TOP @PageSize * FROM (
SELECT TOP @PageSize*(@PageIndex+1) * FROM @TableName
ORDER BY @PrimaryKey ASC
) TableA ORDER BY @PrimaryKey DESC
) TableB ORDER BY @PrimaryKey ASC
吴哥说说吧,谢谢,对了,也谢谢吴哥以前通过电子邮件对小弟的指教
回复:是的,用DataAdapter来填充DataSet的分页方法是必须先获取全部记录,在填充数据集时只填充指定条数的记录,这些记录就是当前页要显示的记录,您说的最后一种方法是通过多重Select语句直接从数据库中选出当前页的记录,您可以用我写的代码工具来自动生成这样的SQL语句,至于填充数据集和用多重Select语句来获取当前页数据的方法之间性能的差异,我还没有测试过,直觉应该是多重Select语句快一些。谢谢!
2006/4/8 12:18:00 Eric_Net
第一次使用
结果出现 对象名 'news' 无效 不知道什么意思 晕忽忽的
结果出现 对象名 'news' 无效 不知道什么意思 晕忽忽的
回复:news是数据库中的一个表名,您有这个表吗?
2006/4/8 11:41:00 xiaoxi
请教存储过程除了速度和安全性的好处外,还有什么好处?代码编写简单吗?
cmd=new SqlCommand("wqnews_GetPagedWQNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",1);
cmd.Parameters.Add("@pagesize",1);
cmd.Parameters.Add("@docount",true);
===============
cmd=new SqlCommand("SELECT * from wqnews");
cmd=new SqlCommand("wqnews_GetPagedWQNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",1);
cmd.Parameters.Add("@pagesize",1);
cmd.Parameters.Add("@docount",true);
===============
cmd=new SqlCommand("SELECT * from wqnews");
回复:存储过程的好处可以总结为以下几点:
- 安全:防止SQL注入攻击以及设置独立执行权限;
- 模块化:方便程序设计及维护;
- 已编译,运行速度快;
- 减少网络流量:一个需要数百行SQL 代码的操作可以通过一条执行过程代码的语句来执行,而不需要在网络中发送数百行代码
2006/4/5 21:03:00 南文焕
您好,请教一个问题,下面这段语句执行到这pager.RecordCount = CInt(objCmd.ExecuteScalar())都没有问题,但是执行到objCmd.ExecuteReader()就出现 必须声明变量 '@classid'.想请教一下是怎么回事,谢谢.
在没有自定义参数的时候,这些语句也是没有问题.谢谢
Dim objCmd As SqlCommand
Dim objDr As SqlDataReader
Dim arParams(3) As SqlParameter
arParams(0) = New SqlParameter("@pageindex", 1)
arParams(1) = New SqlParameter("@pagesize", 1)
arParams(2) = New SqlParameter("@docount", True)
arParams(3) = New SqlParameter("@classid", strClassID)
objCmd = objDb.CreateCmd("Stp_ShowArticlelistFront", arParams)
pager.RecordCount = CInt(objCmd.ExecuteScalar())
'重新绑定数据
objCmd.Dispose()
arParams(0) = New SqlParameter("@pageindex", pager.CurrentPageIndex)
arParams(1) = New SqlParameter("@pagesize", pager.PageSize)
arParams(2) = New SqlParameter("@docount", False)
arParams(3) = New SqlParameter("@classid", strClassID)
objCmd = objDb.CreateCmd("Stp_ShowArticlelistFront", arParams)
objDr = objCmd.ExecuteReader()
DataRecordList.DataSource = objDr
DataRecordList.DataBind()
在没有自定义参数的时候,这些语句也是没有问题.谢谢
Dim objCmd As SqlCommand
Dim objDr As SqlDataReader
Dim arParams(3) As SqlParameter
arParams(0) = New SqlParameter("@pageindex", 1)
arParams(1) = New SqlParameter("@pagesize", 1)
arParams(2) = New SqlParameter("@docount", True)
arParams(3) = New SqlParameter("@classid", strClassID)
objCmd = objDb.CreateCmd("Stp_ShowArticlelistFront", arParams)
pager.RecordCount = CInt(objCmd.ExecuteScalar())
'重新绑定数据
objCmd.Dispose()
arParams(0) = New SqlParameter("@pageindex", pager.CurrentPageIndex)
arParams(1) = New SqlParameter("@pagesize", pager.PageSize)
arParams(2) = New SqlParameter("@docount", False)
arParams(3) = New SqlParameter("@classid", strClassID)
objCmd = objDb.CreateCmd("Stp_ShowArticlelistFront", arParams)
objDr = objCmd.ExecuteReader()
DataRecordList.DataSource = objDr
DataRecordList.DataBind()
回复:错误出现在存储过程中,您的存储过程呢?
2006/4/5 8:26:00 Eric_Net
哈 第一次来 踩个脚印,没想到这里还可以提问题哈
以后得常来看看
以后得常来看看
回复:欢迎常来转转:)
2006/4/3 9:26:00 武眉博<活靶子.Net>
我想你~~~
回复:晕,别让人家误会了:)最近一直加班加点在赶项目,五一也可能没法回去了,55~~~!
2006/3/31 11:55:00 xiaoxi
下载了事例项目“aspnetpagersamples”,在access目录下,你的事例都能用,我新建一个文件,依样画葫芦把你的代码抄过来都不能用。为什么呢,我好晕
我的是v2003。
分析器错误信息: 未能加载类型“Wuqi.Webdiyer.access.WebForm1”。
源错误:
行 1: <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Wuqi.Webdiyer.access.WebForm1" %>
行 2: <%@Register TagPrefix="webdiyer" Namespace="Wuqi.Webdiyer" Assembly="AspNetPager"%>
行 3: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
源文件: D:\wwwoor\aspnetpagersamples\access\WebForm1.aspx 行: 1
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
我的是v2003。
分析器错误信息: 未能加载类型“Wuqi.Webdiyer.access.WebForm1”。
源错误:
行 1: <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Wuqi.Webdiyer.access.WebForm1" %>
行 2: <%@Register TagPrefix="webdiyer" Namespace="Wuqi.Webdiyer" Assembly="AspNetPager"%>
行 3: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
源文件: D:\wwwoor\aspnetpagersamples\access\WebForm1.aspx 行: 1
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
回复:您的WebForm1.aspx后台代码文件的类名限定名是Wuqi.Webdiyer.access.WebForm1吗?你的虚拟目录设置正确吗?项目编译成功了吗?谢谢!
