CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

谁能给出ASP SQL2000的ASP程序代码啊?

楼主skyh(越聊越无聊)2002-09-26 13:01:38 在 Web 开发 / ASP 提问

我是菜鸟,不懂ASP。SQL   SERVER   2000已建立好,数据库为bcs、用户为sa、密码为空,谁能给出使用SQL2000的一个ASP程序代码(test.asp)啊,最好用ADO,要求select   *   from   RESDT   where   CDNO='405512'   能分页显示(因为选出的数据比较多,可能由几千条,这个表里的数据大概在500万条左右,如何加快查询?), 问题点数:50、回复次数:15Top

1 楼cshadow(heli)回复于 2002-09-26 13:39:51 得分 0

你的要求代码量太大了,还是自己下载源码研究下吧~Top

2 楼qiujsh(www.chinascsoft.com)回复于 2002-09-26 13:46:02 得分 0

SQL   SERVER访问跟access,找个ACCESS的源代码看看吧Top

3 楼skyh(越聊越无聊)回复于 2002-09-26 15:26:57 得分 0

各位,只要一个程序就好,能联上数据库然后运行就好了select   *   from   RESDT   where   CDNO='405512'。我找了很多ASP连SQL   SERVER   2000的例子,但是都不能用啊。。。Top

4 楼adamsunny(青龙)回复于 2002-09-26 15:55:06 得分 25

Set   objConn   =   Server.CreateObject("ADODB.Connection")  
  objConn.Open   "DSN=数据源名;UID=sa;PWD=sa"  
  Set   objTemp   =   objconn.execute("select   *   from   RESDT   where   CDNO=405512")  
   
  这样就行了,不然的话就是你的ASP运行环境有问题了!  
   
  ================================================================  
   
  CSDN   论坛助手   Ver   1.0   B0402提供下载。   改进了很多,功能完备!  
   
  ★     浏览帖子速度极快![建议系统使用ie5.5以上]。   ★     多种帖子实现界面。    
  ★     保存帖子到本地[html格式]★     监视您关注帖子的回复更新。  
  ★     可以直接发贴、回复帖子★     采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!    
  ★     支持在线检测程序升级情况,可及时获得程序更新的信息。  
   
  ★★   签名     ●      
            可以在您的每个帖子的后面自动加上一个自己设计的签名哟。  
   
  Http://www.ChinaOK.net/csdn/csdn.zip  
  Http://www.ChinaOK.net/csdn/csdn.rar  
  Http://www.ChinaOK.net/csdn/csdn.exe         [自解压]  
   
  Top

5 楼uvvvw(飘哥)回复于 2002-09-26 16:05:58 得分 10

连接:  
  set   conn=server.createobject("adodb.connection")  
  connstr="driver={Sql   Server};server=host;uid=name;password=pass;database=数据库"  
  conn.open   connstrTop

6 楼skyh(越聊越无聊)回复于 2002-09-26 16:49:06 得分 0

终于用  
  Set   objConn   =   Server.CreateObject("ADODB.Connection")  
  objConn.Open   "DSN=数据源名;UID=sa;PWD=sa"  
  Set   objTemp   =   objconn.execute("select   *   from   RESDT   where   CDNO=405512")  
  连上了,原来还要用SQL2000的企业管理器新增一个什么INTERNET登陆并赋权限。。。可是,怎么显示SELECT出的数据啊?各位,继续贴代码啊。。。Top

7 楼abigfrog(千年精灵)(★JAVA★)回复于 2002-09-26 17:04:12 得分 15

if   not   objTemp.bof   and   objTemp.eof   then  
        do   while   not   objTemp.eof  
                    response.write   objTemp("字段名")  
        objTemp.movenext  
        loop  
  else  
        response.write("no   data   selected!")  
  end   ifTop

8 楼skyh(越聊越无聊)回复于 2002-09-26 17:07:16 得分 0

<%=objTemp("CUNB")%>就能显示相应的字段内容了,哈哈哈哈哈Top

9 楼skyh(越聊越无聊)回复于 2002-09-26 17:09:39 得分 0

哎,好象慢了一步,刚研究出来就有高手发贴了,看来CSDN真是高手多多啊Top

10 楼skyh(越聊越无聊)回复于 2002-09-26 17:15:14 得分 0

可是我这个库有500万条记录,还没有运行完就显示  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   错误   '80040e31'    
  [Microsoft][ODBC   SQL   Server   Driver]超时已过期    
  /test.asp,行6  
  怎么办啊?    
  Top

11 楼abigfrog(千年精灵)(★JAVA★)回复于 2002-09-26 17:41:20 得分 0

利用ASP实现对表的分页浏览    
  动感教育网   发布日期:2001-9-5   字数:4497字    
   
    大家都知道,ASP有着强大的数据库操作能力,这与她能方便的调用ActiveX对象是密不可分的。下面我给大家介绍一种ASP利用ADO对象实现对数据库记录分页显示的方法。以下代码均在WIN98+PWS+MSACCESS环境下通过。  
   
    在这里我主要通过ADO对象集中的Recordset对象来实现各种数据库操作的。先介绍几个用于分页显示的Recordset属性。  
   
      PageSize:每页显示的记录数。  
   
      PageCount:根据用户设好的PageSize和表中的总记录数,系统自动算出总页数。  
   
      RecordCount:表中的总记录数。  
   
      AbsolutePage:表示当前页码。如将AbsolutePage属性设为3,则当前记录移至第3页第1条(也就是第31条)。  
   
    看到Recordset有了这几个属性后,相信大家也都觉得做一个分页显示的程序是很简单的。下面讲一下思路,所有实现这一功能的代码都放在display.asp中,按执行的顺序分别是:打开数据库及表、读取用户要求的显示方式、设定好PageSize和AbsolutePage、将内容输出到浏览器、设定好导航条。以下是代码:    
   
   
  <%'---------------------------打开数据库及表  
  set   conn=server.createobject("ADODB.Connection")  
  filepath=server.mappath("abc.mdb")   '-------假设数据库文件是"abc.mdb"  
  conn.Open   "driver={Microsoft   Access   Driver   (*.mdb)};dbq="   &   filepath    
  set   rs=server.createobject("ADODB.Recordset")  
  rs.open   "main",conn,3,2   '-------假设表的名字是"main"  
  %>  
  <%'---------------------------读取用户要求的显示方式(通过参数传递)  
  line=cint(request("line"))  
  page=cint(request("page"))  
  %>  
  <%'---------------------------按用户要求设定好显示方式  
  rs.PageSize=line  
  rs.AbsolutePage=page  
  %>  
  <%'---------------------------显示内容%>  
  <table   width="100%"   border="1">  
  <tr>  
  <%for   i=0   to   rs.Fields.Count-1%>  
  <td><%=rs.Fields(i).name%></td>  
  <%next%>  
  </tr><%'-------以上部分显示表头,即字段名%>  
  <%for   i=1   to   rs.PageSize%>  
  <tr>  
  <%for   j=0   to   rs.Fields.Count-1%>  
  <td><%=rs.Fields(j).value%></td>  
  <%next%>  
  </tr>  
  <%rs.movenext%>  
  <%if   rs.eof   then   exit   for%>  
  <%next%><%'-------以上部分显示表的内容%>  
  </table>  
   
  <%'---------------------------导航条%>  
  <table   width=100%   ><tr>  
  <td>  
  <%if   page<>1   then%>  
  <a   href=display.asp?page=1&line=<%=line%>>第一页</a>  
  <%else%>第一页<%end   if%>  
   
  </td>  
  <td>  
  <%if   page>1   then%>  
  <a   href=display.asp?page=<%=page-1%>&line=<%=line%>>前一页</a>  
  <%else%>前一页<%end   if%>  
  </td>  
  <td>  
  <%if   page<rs.PageCount   then%>  
  <a   href=display.asp?page=<%=page+1%>&line=<%=line%>>下一页  
  <%else%>下一页<%end   if%>  
  </td>  
  <td>  
  <%if   page<>rs.PageCount   then%>  
  <a   href=display.asp?page=<%=rs.PageCount%>&line=<%=line%>>最后一页</a>  
  <%else%>最后一页<%end   if%>  
  </td><%'-------以上四项都需要进行判断:如果在第一页就不提供“第一页”和“前一页”的链接  
  '-------如果在最后一页就不提供“最后一页”和“后一页”的链接%>  
  <td>  
  <form   method="POST"   action="display.asp?line=<%=line%>">    
  请输入页码:<input   type="text"   name="page"   size="3"   value="<%=page%>">  
  </form>  
  </td>  
  <td>  
  <form   method="POST"   action="display.asp?page=<%=page%>">  
  请设定每页<input   type="text"   name="line"   size="3"   value="<%=line%>">行  
  </form>  
  </td><%'-------因为两个表单都只有一个表单域,所以没有提供发送按钮,直接打回车就行了%>  
  <td>  
  第<%=page%>页/总<%=rs.PageCount%>页  
  </td>  
   
  </tr></table>  
   
   
    这只是一个最基本的程序,没有进行优化处理,也还有一些bug,下面我们一起来使它更“完美”一些。  
   
  一.关于参数传递。假如表中有46条记录,然后我们在地址栏中敲入http.//localhost/display.asp?line=10&page=2(假设这是正确的路径)肯定浏览器将给我们显示第二页的十条记录。但是如果在地址栏中只敲入http.//localhost/display.asp,浏览器却给我们一个出错信息。如何解决呢?我们必须在读取这些参数时加一个判断,如果参数是空的,就赋给它一个初值,以防出错。将“读取用户要求的显示方式”部分用以下代码代替:  
   
   
  <%  
  if   request("page")<>""   then  
  page=cint(request("page"))    
  else    
  page=1   '-------如果参数page为空,就给它赋值1  
  end   if  
  if   request("line")<>""   then    
  line=cint(request("line"))  
  else    
  line=10   '-------如果参数line为空,就给它赋值10  
  end   if  
  %>  
   
   
    二.参数的合理性问题。如果我们在地址栏中敲入http.//localhost/display.asp?line=20&page=4会出现什么情况呢?浏览器报错。因为表中只有46条记录,而我们要它以每页显示二十条,第四页的二十条记录,也就是第六十一条到第八十条记录。显然会出错。同样情况还会出现在导航条中,如果当前浏览器中显示的是以每页十条,第四页的内容,我们去设定它以每页二十条显示,同样也会出错。解决方法还是一样的,先判断一下参数的合理性,然后再设置显示方式。将“按用户要求设定好显示方式”部分用以下代码代替。  
   
  <%  
  if   page>(rs.RecordCount-1)\line+1   then    
  '-------通过计算可知,最大页数=(总记录数-1)\每页行数+1  
  response.write("error!")   '-------如果参数不合实际,输出"error!"  
  response.end   '-------终止程序  
  end   if  
  rs.PageSize=line  
  rs.AbsolutePage=page  
   
  %>  
   
   
    三.验证表单域。导航条中的两个输入文本框输入的都必须是整数,否则也会出错。我们可以利用FrontPage的验证表单域功能开完成,这里就不多说了。  
   
    四.优化。到目前为止,这个程序还有一个缺点。在数据库的存取过程中,最花时间的要数是数据库的打开和Recordset对象的建立,而这个程序每次执行都会打开数据库及建立Recordset对象,极大的降低了效率,一旦访问量增大,这个程序也就是去了价值。解决的办法是:第一次执行程序时,打开数据库及建立Recordset对象,并将这些存在session中,下次执行时直接将session中的值返回就行了。用以下代码代替“打开数据库及表”部分。  
   
  <%  
  if   not   isobject(session("conn"))   then  
  set   conn=server.createobject("ADODB.Connection")  
  filepath=server.mappath("abc.mdb")  
  conn.Open   "driver={Microsoft   Access   Driver   (*.mdb)};dbq="   &   filepath    
  set   rs=server.createobject("ADODB.Recordset")  
  rs.open   "main",conn,3,2  
  set   session("conn")=conn  
  set   session("rs")=rs  
  else  
  set   conn=session("conn")  
  set   rs=session("rs")  
  end   if  
  %>    
   
       至此,一个比较“完美”的程序完成了。各位大虾有何高见?欢迎来信与我探讨。webflier@263.net    
     
  Top

12 楼skyh(越聊越无聊)回复于 2002-09-26 18:24:50 得分 0

哦,上帝啊,一个表才20多万条记录我的机器硬盘已经乱响了,我那490多万条记录的表该如何处理啊。。。建了索引好象没什么用。建存储过程不知道有没有用啊?怎么在ASP中使用存储过程啊?????存储过程名为sp_1Top

13 楼skyh(越聊越无聊)回复于 2002-09-26 22:58:20 得分 0

顶一下,现在琢磨动态SQL和参数传递,似乎ASP不难,可惜对机器的要求高。。。我的PIII800+256M跑ASP和SQL查询大一些的表(几十万条记录)就有些吃力了,用户一多(或数据量大,几百万条之类)肯定完蛋Top

14 楼Kerniphan(飞奔蜗牛)回复于 2002-09-27 02:12:06 得分 0

5000000条数据?!My   God!劝你赶快别用   MS   SQL   Server2000,换换焕!否则什么技巧都白搭!Top

15 楼skyh(越聊越无聊)回复于 2002-09-27 08:32:04 得分 0

感觉SQL2K满好用的才用的(那查询分析器真是不错),原来一直用SYBASE,看来又得用回SEBASE了Top

相关问题

  • 求ASP+sql 图片上传代码
  • 为什么我的ASP程序被加了代码?
  • asp及asp.net程序代码交换请加入群:5572380
  • 如何制作asp程序的安装程序?如何实现代码加密?
  • asp源代码!
  • 求一SQL语句或access模块,asp代码也行
  • 错误代码(2):424 缺少对象 ?(ASP访问SQL)
  • 问一个问题:有没有将Php程序、代码转为Asp的工具?
  • 请提供asp连接oracle数据库的conn.asp文件程序代码?
  • 100分奉送 如何在ASP代码中联接应用程序

关键词

  • .net
  • sql server 2000
  • sql2000
  • 数据库
  • 代码
  • asp
  • 用户
  • 数据
  • 记录
  • 显示

得分解答快速导航

  • 帖主:skyh
  • adamsunny
  • uvvvw
  • abigfrog

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo