v2.0.0.1 的功能。
1、连接数据库。
连接数据库是通过数据访问函数库来实现的,连接哪种数据库和连接字符串是在web.config里面设置的。
ConnStr 这个是连接字符串,没有什么大问题。
DataType 数数据库类型,这个就没有说清楚。
DataType = “1”:使用 System.Data.SqlClient 连接 SQL Server 数据库 ,包括 SQL2000 和 SQL2005。
DataType = “2”:使用System.Data.OleDb连接。可以连接Access、Excel等。
DataType = “3”:使用System.Data.Odbc连接。可以连接Access等。
由于没有用过其他的数据库,所以暂时只能使用这三种方式。
2、分页算法。
一开始是这么想的,我觉得使用了Vs2005的,一般都会把数据库也升级到SQL2005,所以V2.0.0.1只加上了Row_Number的分页算法,也就是说这种分页算法支持SQL2005,如果您使用 SQL2000的话,那么只能看到第一页,看其他页的时候就会出错。看来不能靠感觉,感觉往往是不可靠的。这一点也给一些朋友带来了麻烦,再次道歉。
3、版本号。
2.0.0.1:前面的 2.0表示基于.net Framework2.0,后面的0.1是分页控件自己的版本号。
v2.0.0.2增加的功能
1、分页算法
由于时间有限,先增加一个分页算法,使用表变量的方式来分页,这样可以支持SQL2000了。以前也没有使用过表变量的分页方式,是根据吴旗娃的分页控件的网站里提供的存储过程的代码作为参考,修改了一下。
发现了一个小问题,好像这种方式,要求表必须有一个主键,而且不能是符合主键,而且主键必须是 int类型的。可能是我对表变量的分页算法还不是很了解,也许没有这些要求?
使用这种分页算法的话必须设置TableIDColumns属性,也就是表的主键。
目前我是用的表变量的分页算法:
set nocount on
declare @tt table(id int identity(1,1),nid int)
insert into @tt(nid)
select top 30 ProductID from Products --where SupplierID =1
order by ProductName asc
select * from Products O,@tt t where O.ProductID=t.nid
and t.id between 20 +1 and 30 order by t.id
set nocount off
以上算法根据吴旗娃的分页控件的网站提供的存储过程改动而成。
由于不用使用存储过程,好像代码简单了一点。
2、增加了一个属性:SQLKind
使用这个属性来设置分页控件使用的分页算法,目前只有两种:Row_Number和TableVar(表变量)。请在控件的属性里赋值,如果您没有赋值的话,将采用TableVar(表变量)的方式来分页。
以后还会增加新的分页算法,比如Max、颠倒Top等。这样可以根据不同的情况采用不同的分页算法,以达到最好的效果。
在下一个版本里面还会增加一个事件,这样就可以向吴旗娃的分页控件的方式来分页了,这样就更灵活。
这次就不发源码了,下一个版本的时候一起发。
其他的使用方法和以前是一样的。