浏览ORACLE数据库并分页显示 ->200分!!!!

gao 2000-07-26 01:24:00
浏览ORACLE数据库并分页显示
我可以浏览MS SQLSERVER数据库并分页显示,但无法对ORACLE实现该功能,
请提供原代码,多谢!
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alan_Lee 2001-04-25
  • 打赏
  • 举报
回复
可我用了Microsoft ODBC for Oracle,还是不行,错在recordset.open上,怎么会事??
Firing_Sky 2000-07-26
  • 打赏
  • 举报
回复
这个问题我碰到过,你必须使用Microsoft ODBC for Oracle的ODBC的数据源
如果使用的是Oracle ODBC Driver的话,是不支持AbsolutePage属性的,事实上,Oracle ODBC Driver不支持RecordSet的很多属性
华南虎哥 2000-07-26
  • 打赏
  • 举报
回复
我刚针对你这个问题编了一段,时间仓促一点,不知对不对,你先把一些地方改成你的数据格式测试一下,有问题再联系:hblinux@163.net
----------------------------------------------------------------
< %
dim n,recordbegin,recordend
'recordbegin 为开始记录,recordend为结尾记录
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT * FROM message order by ID DESC"
'查询所有帖子,并按帖子的ID倒序排列
Conn.Open "Driver={Microsoft ODBC for Oracle};Server=bbs;Uid=sa;Pwd=;"
RS.open sql,Conn,1,1
If RS.RecordCount=0 then
response.write "< P>< center>对不起,数据库中没有相关信息!< /center>< /P>"
else
RS.PageSize =Rs.recordcount '设定PageSize属性的值
Response.Write "< CENTER>"
Response.Write "< P>< font color='Navy'>< B>数 据 库 查 询 结 果:< /B>"
Response.Write "(共有"&RS.RecordCount &"条符合条件的信息,显示"&recordbegin&"-"&recordend&")< /font>< /p>"
Response.Write "< TABLE WIDTH=600 BORDER=1 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#FFFFFF>"
Response.Write "< TR BGCOLOR=#5FB5E2>< FONT SIZE=2>< TD>< B>主 题< /B>< /TD>< TD>< B>用 户< /B>< /TD>< TD>< B>Email< /B>< /TD>< TD>< B>发 布 日 期< /B>< /TD>< /FONT>< TR BGCOLOR=#FFFFFF>"
Do while not (RS is nothing)
RowCount = RS.PageSize
n=0
Do While Not RS.EOF and rowcount > 0
if (n>recordbegin)and(n<recordend) then
Response.Write "< TR BGCOLOR=#FFFFFF>"
%>
< TD>< span style="font-size:9pt">< A href='view.asp?key=< % =RS("ID")%>'>< % =RS("subject")%>< /A>< /span>< /td>
< TD>< span style="font-size:9pt">< % =RS("name")%>< /A>< /span>< /td>
< TD>< span style="font-size:9pt">< a href="mailto:< % =RS("email")%>">< % =RS("email")%>< /a>< /span> < /TD>
< TD>< span style="font-size:9pt">< % =RS("postdate")%>< /span> < /td>
< /TR>
< %
end if
RowCount = RowCount - 1
RS.MoveNext
n=n+1
Loop
set RS = RS.NextRecordSet
Loop
end if
Conn.Close
set rs = nothing
set Conn = nothing
%>
< /TABLE>
< FORM METHOD=GET ACTION="list.asp">
< INPUT TYPE="HIDDEN" NAME="pageno" VALUE="< % =PageNo %>">
< %
if PageNo > 1 Then
response.write "< INPUT TYPE=SUBMIT NAME='ScrollAction' VALUE=' 上一页 '>"
end if
if RowCount = 0 and PageNo < >Total then
response.write "< INPUT TYPE=SUBMIT NAME='ScrollAction' VALUE=' 下一页 '>"
end if
response.write "< /FORM>"
End if
%>
< % End Sub %>
-----------------------------------------------------------------------
gao 2000-07-26
  • 打赏
  • 举报
回复
多谢你的帮助,但可能是我没有把问题描述清楚,与oracle数据库的连接很顺利,是通过oracle8安装盘上提供的Oracle ODBC Driver,版本号是8.00.05.00, 我遇到的问题是:将数据库中的记录分页显示时,用到了对象RecordSet的AbsolutePage属性,访问SQL Server数据库时没问题,但访问Oracle数据库时,就会报错:提供者不支持所要求的操作,不知是何原因。如果你有这方面的经验,请赐教,最好能提供分页显示的程序代码,多谢!
华南虎哥 2000-07-26
  • 打赏
  • 举报
回复
我想对于分页显示你应该比较清楚,下面是对Oracle数据库的一些连接方式:
------------------------------------------------------------
1)使用ODBC Driver连接Oracle
a)使用现有的Oracle ODBC Driver from Microsoft:
oConn.Open "Driver={Microsoft ODBC for Oracle};Server=OracleServer;Uid=sa;Pwd=;"
b)使用老版本的Oracle ODBC Driver from Microsoft:
oConn.Open "Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer;Uid=sa;Pwd=;"

2)使用OLE DB Provider连接Oracle
oConn.Open "Provider=msdaora;Data Source=OracleServer;User Id=sa;Password=;"
------------------------------------------------------------------
有什么其他问题:hblinux@163.com

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧