( FEED rss2.0 )

sed /sshd/p -n /var/log/auth.log > /log/sshd.log » 21 days ago

这几天写个网站卡在了分页上,因为记录集不无法使用recordcount这个属性,因此貌视用记录集分页的方法行不通。而不用存储过程的分页又对SQL的组织不太熟悉。翻了半天GOOGLE,找到以下资料存个档:
解决recordcount无法使用的问题:

代码如下
rs.cursorlocation = aduseclient
call closers()
rs.open consql, connDB,adopenkeyset,adlockreadonly,adcmdtext

分析如下
主要就是第一句,CursorLocation 属性應設為adUseClient,而且一定要放在call closers()前面。
關於CursorLocation,下面有介紹:
设置或返回游标服务的位置

常量说明
adUseNone 没有使用游标服务。(该常量已过时并且只为了向后兼容才出现)。
adUseClient 使用由本地游标库提供的客户端游标。本地游标服务通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。AdUseClient 具有向后兼容性,也支持同义的 adUseClientBatch。
adUseServer 默认值。使用数据提供者的或驱动程序提供的游标。这些游标有时非常灵活,对于其他用户对数据源所作的更改具有额外的敏感性。但是,Microsoft Client Cursor Provider(如已断开关联的记录集)的某些功能无法由服务器端游标模拟,通过该设置将无法使用这些功能。

odbc连接需要设置以下参数:
set rs1 = Server.CreateObject(”ADODB.Recordset”)
rs1.ActiveConnection = MM_conn_STRING
rs1.Source = “SELECT * FROM table WHERE 1=0″
rs1.CursorType =2
rs1.CursorLocation = 3
rs1.LockType = 3
rs1.Open()

这两句属性设置好才能分页
rs1.CursorType =2
rs1.CursorLocation = 3

我建议用ADO连接
ConnectString=”provider=msdaora;user id=uid;password=pwd;data source=service”
注意user id 不能写成Uid
password不能写成pwd;
service为数据库服务名

分页时要先建立记录集对象
var rs = Server.CreateObject(”ADODB.Recordset”);
rs为分页是用到的记录集对象
rs.CursorType = 2;
rs.CursorLocation = 3;

用完rs要关闭
rs.close();

最后需要关闭连接对象
conn.close();

相关资料:
http://www.ymw.cn/it/CSDN/asppost3/web19993.htm

Popular Tags

Monthly Archives

iHao Friends

Site Meta