|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;数据|数据库|随机|反复看到常常有人问这个成绩。又到网上找了些看,以为写得不中意。
年夜多读取纪录到数组里往抽取。今天又看到人写,血汗来潮就随手想了个,团体以为这类办法应当错吧,呵呵。恰好20行~_~
完成办法:
1。经由过程recordset游标可挪动的特征,在已翻开纪录集里挪动到随机地位读取纪录。并且能够迁就利用页面中已翻开的RS工具。
2。将呈现过的随机数保留到一个字符串中,经由过程instr函数来反省是不是反复,反复则递回挪用函数至不反复。
- 数据库翻开查询多少,省略......Setrs=Server.CreateObject("Adodb.RecordSet")rs.opensql,conn,1,1DIMAppearedCallDisRndRecord(10,rs.recordCount)挪用函数该地位显现纪录################SUBS#################DisRndRecord(DisNum,rsBound)#参数DisNum:显现数目#参数rsBound:随机数发生局限SubDisRndRecord(DisNum,rsBound)DIMi,ThisRndIfrsBound<DisNumThenDisNum=rsBound纪录总数小于要抽取纪录条数的情形Fori=0ToDisNum-1ThisRnd=GetRnd(rsBound)获得一个不反复的随机数rs.Move(ThisRnd)游标挪动到随机数地位数读取Response.Write("<br>("&rs("id")&")"&rs("Title"))rs.Move(-ThisRnd)NextEndSub#函数GetRnd(bound)前往一个不反复的随机数字#参数bound:随机局限FunctionGetRnd(bound)DIMranNumRandomize()ranNum=int(bound*rnd)IfInstr(Appeared,"["&ranNum&"]")Then发生的随机数是不是呈现过ranNum=getRnd(bound)EndIfAppeared=Appeared&"["&ranNum&"]"纪录已呈现的随机数GetRnd=ranNumEndFunction
复制代码 asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 |
|