论坛: 网站建设 标题: ASP――精华篇 复制本贴地址    
作者: qiezic [qiezic]       登录
ASP数据库精华篇




'SQL数据库链接(ADO)
set conn = server.createobject("Adodb.connection")         
conn.open "Driver={SQL Server};Server=(local);Database=数据库名称;Uid=sa;Pwd="

'Access数据库链接(ADO)
dbpath = server.mappath("数据库路径")
connstr = "driver={microsoft access driver (*.mdb)};dbq=" & dbpath
set conn = server.createobject("adodb.connection")
conn.open connstr

'Oracle数据库链接(ADO)
connstring="Provider=OraOLEDB.Oracle.1;Password=pass0;Persist Security Info=True;User ID=user0;Data Source=DLA"
set conn=server.createobject("ADODB.Connection")
conn.open connstring

conn.close                '断开数据库链接
set conn=nothing          '释放资源


'查询语句
set rs=server.CreateObject("ADODB.RecordSet")
trySql="select * from 表名"
rs.open trySql,Conn,1,1
do while not rs.eof
  变量 = rs(0)            'rs(参数)  参数>=0,其中0代表第一个字段,1代表第二个字段,后
                          '面的依此类推就知道了!
  response.write 变量
  ………………
rs.movenext              '记录下移一条 还有rs.movefirst为移到第一条记录和rs.recordcount
                          '为满足查询条件的记录总数
loop
rs.close                  '断开表链接
set rs=nothing            '释放资源

'添加记录语句
set rs=server.CreateObject("ADODB.RecordSet")
trySql="select * from 表名"
rs.open trySql,Conn,3,3
rs.addnew
rs(1)=变量
…………
rs.update
rs.close                  '断开表链接
set rs=nothing            '释放资源

'修改记录语句
set rs=server.CreateObject("ADODB.RecordSet")
trySql="select * from 表名 where 字段名 ="&变量
rs.open trySql,Conn,3,3
if not rs.eof then
  rs(1)=变量
  …………
end if
rs.update
rs.close                  '断开表链接
set rs=nothing            '释放资源

'删除记录语句
set rs=server.CreateObject("ADODB.RecordSet")
trySql="select * from 表名 where 字段名="&变量
rs.open trySql,Conn,3,3
if not rs.eof then
  rs.delete
end if
rs.close                    '断开表链接
set rs=nothing              '释放资源




ASP之分页显示


newsperpage=9                                    '设置每页显示的记录数
set rs = server.createobject("adodb.recordset")
rs.open "select * from 表 ",conn,1,1          '查询语句
if rs.eof and rs.bof then
response.write "<p align='center'>没有资料........</p>"
else
if not rs.eof then
rs.movefirst
rs.pagesize=newsperpage
if trim(request("page"))<>"" then
  currentpage=clng(request("page"))
  if currentpage>rs.pagecount then
      currentpage=rs.pagecount
  end if
else
  currentpage=1
end if
  totalnews=rs.recordcount
  if currentpage<>1 then
      if (currentpage-1)*newsperpage<totalnews then
      rs.move(currentpage-1)*newsperpage
  dim bookmark
  bookmark=rs.bookmark
      end if
  end if
  if (totalnews mod newsperpage)=0 then
      totalpages=totalnews\newsperpage
  else
      totalpages=totalnews\newsperpage+1
  end if
i=0
'要输出的内容
do while not rs.eof
if i>=newsperpage then exit do
  response.write rs(0)
  i=i+1  
  rs.movenext
loop
'输出内容结束
response.write  "<table align=center width=690><tr><td align=left>"&_
                totalnews&"</font>条, 共<font color=#ff0000>"&totalpages&"</font>页,"&_
                "<font color=#ff0000>"&newsperpage
                  "</font>条/页,当前<font color=#ff0000>"¤tpage&"</font>页 "
i=0
do while not rs.eof and i<newsperpage
  i=i+1
  rs.movenext
loop
end if
i=1
showye=totalpages
if showye>10 then
showye=10
end if
for i=1 to showye
if i=currentpage then
response.write i
else
response.write "[<a href=本页名?page="&i&">"&i&"</a>] "    '当前页链接
end if
next
  if totalpages>currentpage then
      if request("page")="" then
        page=1
      else
        page=request("page")+1
      end if
      response.write "<a href=本页名?page="&page&" title=下一页><font face=Webdings>8</font></a>"    '当前页链接
  end if
end if
'改一下有注释的地方就可以了!



希望这些能给予初学ASP的爱好者一定的帮助!


[此贴被 极地风暴(qiezic) 在 09月09日12时46分 编辑过]

地主 发表时间: 04-08-25 17:41

回复: etliwei [etliwei]   论坛用户   登录
好东西~

B1层 发表时间: 04-08-26 21:56

回复: BFxp [jsj0132]   论坛用户   登录
至少对我有很大的帮助,,,

B2层 发表时间: 04-08-29 14:46

回复: mmgg00 [mmgg00]   论坛用户   登录
我也正需要

B3层 发表时间: 04-08-31 18:33

回复: ysfilone [ysfilone]   论坛用户   登录
不错

B4层 发表时间: 04-09-01 12:03

回复: qiezic [qiezic]      登录
顶出来!

B5层 发表时间: 04-09-09 12:47

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号