官方QQ群:127876820【C#编程技术-全国站--未满人】

asp.net做篮球比赛抽签功能

首先我考虑到这个签是随机产生的,要用到Random类。但是这个签又是人为随便写的,有可能是ABC……也有可能是甲乙丙……
    …………
    经过我反复的思考,我最后这样做出来了这个东西……
     首先建立一个比赛安排的数据表,里面包括比赛的时间,地点等,并且给每场比赛设置一个签值,可以是ABC……或甲乙丙……,一个参赛对的表,里面包括该对的一些参赛信息……
    在抽签按钮的click事件中写上下面的程序……
     1.先从比赛安排表中取出可以被抽的签的值……
      string dbname = Server.MapPath("App_Data/basketball.mdb");

        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + dbname);
        conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter("select qian from t_arranges where quautity<2", conn);//quautity字段表示被抽次数
        DataSet ds = new DataSet();
        da.Fill(ds, "t_table");
       2.判断还有没有签可抽……
         DataRow[] rows = ds.Tables[0].Select();
        int counts = rows.Length;
        if (counts > 0)  //如果有签可抽
        {
           **//这里下面再说……
        }
        else
        {
            Response.Write("<script language=javascript>alert('比赛时间还没有确定!');</script>");
        }
       3.如果有签可抽则将签保存到一个哈希表中
   
    也就是**里面的内容

            Hashtable ht = new Hashtable();
            for (int i = 1; i < counts + 1; i++)
            {
                string qian = rows[i - 1]["qian"].ToString();  //qian字段表示设置的签值
               ht.Add(i.ToString(), qian);   
            }
        4.声明一个Random对象。
            Random rdm = new Random();
    5.让Random对象从哈希表的键中随机产生一个值
            counts = counts + 1;
            string random = rdm.Next(1, counts).ToString().Trim();
     6.用随机产生的键去访问哈希表的值。
      string qvalue = (string)ht[random];
     7.提交数据库……
      ……………………这部分的内容就省了………………
    这个 qvalue 就是随机抽到的签了……
            string qvalue = (string)ht[random];

 

posted @ 2010-09-28 10:41  碧海蓝天_C#  阅读(386)  评论(0编辑  收藏  举报
官方QQ群:127876820【C#编程技术-全国站--未满人】