日期:2014-05-17  浏览次数:20872 次

号码抽奖系统小问题
本帖最后由 bulls5988 于 2013-12-11 15:04:14 编辑
要做一个号码抽奖的小程序,为不可放回的抽奖(中的号码不会再出现);输入一个数字比如100,放在一张表里一个字段:100 。然后用随机函数把这个100做参数来随机,中一个号码写入一张表里。在表中有的号码就不允许在被抽中了。我想用timer做现在逻辑上有点问题。


  private void start_Click(object sender, EventArgs e)
        {

            //开始抽奖
            if (timer1.Enabled == false)
            {
                timer1.Enabled = true;
            }
            else
            {
                //这步应该做判断,数据库中表中是否存在号码,如果有不允许被抽取
                
//保存抽取结果
                luck_update = "insert into zj_hm (zj_number) values 
('" + label1.Text + "')";
                SqlConnection conn_update = new SqlConnection(my_conn.sql_conn());
                SqlCommand cmd_update = new SqlCommand(luck_update, conn_update);
                conn_update.Open();
                cmd_update.ExecuteNonQuery();
                timer1.Enabled = false;
            }
        }

//计时器Timer
  private void timer1_Tick(object sender, EventArgs e)
        {
            //在表中抽奖号段范围内抽取随机号;开始号码,截至号码
            luck = "select * from cj_hdnr";
            SqlConnection conn = new SqlConnection(my_conn.sql_conn());
            SqlCommand cmd = new SqlCommand(luck,conn);
            conn.Open();
            SqlDataReader rs = cmd.ExecuteReader();
            if(rs.Read())
            {
                start = Convert.ToInt32(rs["hd_kaishi_haoma"]);
                end = Convert.ToInt32(rs["hd_jieshu_haoma"]);
         &nb