号码抽奖系统小疑点
号码抽奖系统小问题
要做一个号码抽奖的小程序,为不可放回的抽奖(中的号码不会再出现);输入一个数字比如100,放在一张表里一个字段:100 。然后用随机函数把这个100做参数来随机,中一个号码写入一张表里。在表中有的号码就不允许在被抽中了。我想用timer做现在逻辑上有点问题。
------解决方案--------------------
要做一个号码抽奖的小程序,为不可放回的抽奖(中的号码不会再出现);输入一个数字比如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"]);
}
conn.Close();
rs.Close();
Random rnd = new Random();
label1.Text = (rnd.Next(start,end)).ToString();
}
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
RandNum a = new RandNum();