CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

一个递归的问题,困扰好几天了

楼主chenlianjia(Water.Net)2005-09-01 13:05:56 在 Web 开发 / ASP 提问

表结构如下  
  ID     UPID   name  
  1       0         a  
  2       0         b  
  5       1         c  
  7       1         d  
  9       2         e  
  10     2         f  
  12     5         g  
  检查UPID为0的时候,是否有两条记录,如果已经有两条了,则检查UPID为1的记录是否有两条,有的话在检查UPID为2的时候,然后在检查5,这样的递归,该怎么写? 问题点数:100、回复次数:6Top

1 楼yjbnew(伟大的光荣的正确的ASP千岁千岁千千岁)回复于 2005-09-01 14:12:35 得分 20

....  
  sql=select   count(upid)   form   tb   order   by   count(upid)   group   by   upid  
  rs.open   sql,conn,1,1  
  while   not   rs.eof    
        if   rs(0)=2   then    
        exit   while  
      else  
        rs.movenext  
      end   if  
  wend  
  rs.close  
  conn.close  
  ....Top

2 楼yjbnew(伟大的光荣的正确的ASP千岁千岁千千岁)回复于 2005-09-01 14:13:29 得分 20

sql=select   count(upid)   form   tb   order   by   count(upid)   group   by   upid  
  rs.open   sql,conn,1,1  
  while   not   rs.eof    
        if   rs(0)<>2   then    
        exit   while  
      else  
        rs.movenext  
      end   if  
  wend  
  rs.close  
  conn.closeTop

3 楼caobin518(linlin)回复于 2005-09-01 14:21:51 得分 0

我面试时也有这种题!~~~~~~~~~Top

4 楼ljdzxx(圣域风)回复于 2005-09-01 14:39:55 得分 40

Function   Test(Up_Id)  
  Dim   objRS  
  Set   objRS=Conn.Execute("Select   Count(*)   AS   Num   From   Table   Where   UpID="&   Up_Id)  
  If   objRS("Num")<>2   Then    
      Response.Write   "完了,找到一个不符合的!"  
      objRS.Close  
      Exit   Function  
  End   If  
  Set   objRS=Conn.Execute("Select   Top   1   *   From   Table   Where   UpID>"&   Up_Id)  
  If   not   objRS.Eof   Then  
      Up_Id=objRS("UpID")  
      Test   Up_Id  
  Else  
      Response.Write   "OK,都符合要求!"  
      objRS.Close  
      Exit   Function  
  End   If  
  End   FunctionTop

5 楼wzhiyuan(我是谁)回复于 2005-09-01 14:50:06 得分 20

你的要求描述的不是很清楚,  
  每个UPID值最多只有两条记录,还是可能有两条以上?  
  其实这个不需要递归,循环就行了。  
  Top

6 楼chenlianjia(Water.Net)回复于 2005-09-03 10:03:28 得分 0

每个UPID最多只能有两个记录,在增加的时候判断是不是已经有两条了,如果有两条了把第三条记录的UPID设置为当然这两的其中一个ID的值,比如UPID=5的记录有两条,那们下一条记录就要设置UPID=7Top

相关问题

  • 一个递归的问题,困扰好几天了
  • 困扰我两三天关于一个递归的问题!
  • 递归……
  • 递归?
  • 递归.........
  • 递归
  • 困扰我好几天的oci问题
  • datagrid问题。 困扰好几天了。
  • 困扰我好几天的问题.
  • 昨天一个熄火递归,今天变成死循环递归,(欧阳克)进来看看

关键词

  • 检查
  • sql
  • upid
  • 递归
  • objrs
  • 记录
  • rs
  • eof
  • 有两条
  • conn

得分解答快速导航

  • 帖主:chenlianjia
  • yjbnew
  • yjbnew
  • ljdzxx
  • wzhiyuan

相关链接

  • Web开发类图书

广告也精彩

反馈

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