[TABLE]
id    主键
bh    编号 (001-999)
name  姓名我如何利用一个网络程序随机从表中抽出一人,抽取两次,两次不重复.
最终要随机抽出两人(不重复)可否利用什么方法,使抽取过程,像电视上抽奖一样.能看到编号滚动.
谢谢!!!

解决方案 »

  1.   

    将数据用DT取出来.然后随机取行号.点按钮就停止,取得当前的行号.显示当前行值.
    或者用Random函数loop
      

  2.   

    SELECT * FROM TABLE where id = NEWID()
      

  3.   

    算了总计录数再随机取两个数(ID)。。再据ID作方法
      

  4.   

    SELECT TOP 10 * FROM TABLE where id = NEWID()
      

  5.   


    能看到编号滚动:::
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title></title>
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    <meta name="ProgId" content="VisualStudio.HTML">
    <meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
    </head>
    <body onload="onstart()">
    <input type=text value="000000" id=randowname name=randowname>
    <FONT face="宋体"></FONT>
    <script language="javascript">
    function onstart()
    {
    window.setTimeout(showrandom(),1000)
    }
    function showrandom()
    {
    rnd.today=new Date(); 
    rnd.seed=rnd.today.getTime(); function rnd() {  rnd.seed = (rnd.seed*9301+49297) % 233280; 
     
    return rnd.seed/(233280.0);
     
    }function rand(number) {   
    return Math.ceil(rnd()*number);  
     
    }var rad1=rand(9);
    var rad2=rand(9);
    var rad3=rand(9);
    var rad4=rand(9);rad=rad1+rad2*10+rad3*100+rad4*1000;
    //alert(rad);document.forms[0].randowname.value=rad;

    } </script>
    </body>
    </html>
      

  6.   

    dayasky(生活不容易啊) 不是专家抽取决策,是从报名的人中抽两人出来,做事哈
      

  7.   

    SELECT TOP 10 * FROM TABLE where id = NEWID()
      

  8.   

    ID不适用哈.
    因为这只是一个班的人,假如有N个班的,那取ID不好取了
    前题 select * from class where classname= "班级名"
      

  9.   

    有原始数据库 table1 ,建立 temptable1 来保存抽取出来的数据:
    start:
    delete from temptable1 -- 清空 temptable1
    随机抽取一条数据:
    select top 1 * into #temp from table1 where id not in (select id from temptable1) order by NEWID()
    insert into temptable1 select * from #temp
    select * from #temp
    drop table #temp
      

  10.   

    : roapzone(宗璞(庆祝母校*华北工学院*改名*中北大学*)) ( 你的上面没有开始和停止,咋确定呢.并且程序有问题.document.forms.0.randowname为空不是对像
      

  11.   

    Random函数嘛,编号是有的
    取个随机数r(1-999),如果数据库里面是001,可以根据程序判断,然后添加成001形式,然后根据r查找
    select * from table where bh='r'
      

  12.   

    我做过一个桥牌的程序,发牌过程和你说的类似,以下是思路,供参考:
    将编号存入一个可变长的数组中(ArrayList),
    i = 随机数(0-998)
    保存ArrayList(i)
    从ArrayList移除ii = 随机数(0-997)
    保存ArrayList(i)
    从ArrayList移除i重复以上还可以接着取......
      

  13.   

    SELECT TOP 10 * FROM TABLE where id = NEWID()
      

  14.   

    大家可以看一下数据库的结构http://www.in2000.org/bbs/uploadImages/20049219143668359.jpg
      

  15.   

    大家看.数据库里的字段类型要的不.id int 4
    bh char 3  (001 -999)
    name char 10
    pro_bh char 10 (yyyymmddXX 如2004092101)
      

  16.   

    varchar与char有什么区别呀
      

  17.   

    非常的抱歉
    我写的Sql语句是错的
    正确的写法应该是SELECT TOP 2 *
    FROM 系统_用户权限表
    ORDER BY NEWID()sorry~~~
      

  18.   

    xiahouwen(活靶子.NET)
    你的那个实现了哈.
    谢谢