很简单吧.大概1千7百万条.
我要把这所有的数据都插入到SQL2005数据库上,
可以提供SQL语句也可以.
我知道for语句是可以的,只是不知道要For到什么时候.所以特意来问下大家.
双色球的组合式方法是
红区1~33
蓝区1~16的组合.
大家说说
3.6亿我就不期望了.2等奖也不赖了.但写这程序主要不是为了中奖.
而是我学习C#中,没有处理多大型的数据.想试着学习学习.顺便捞点水.
希望大家帮帮忙.
我要把这所有的数据都插入到SQL2005数据库上,
可以提供SQL语句也可以.
我知道for语句是可以的,只是不知道要For到什么时候.所以特意来问下大家.
双色球的组合式方法是
红区1~33
蓝区1~16的组合.
大家说说
3.6亿我就不期望了.2等奖也不赖了.但写这程序主要不是为了中奖.
而是我学习C#中,没有处理多大型的数据.想试着学习学习.顺便捞点水.
希望大家帮帮忙.
确实是1千7百多万条记录,for循环简单点,但插入这么多记录可能性能有点问题
可以写个存储过程,循环放在存储过程里
首先,除了for没别的办法
其次,即使你for出来了也没啥用,你咋知道今天开的什么奖
最后,你如果真能for出来,咱程序员都能弄个2等奖了
第一重i:第一个蓝色球号码,从1开始,不大于33;
第二重j:第二个蓝色球号码,从(i+1)开始,不大于33;
第三重k:第三个蓝色球号码,从(j+1)开始,不大于33;
第四重l:第四个蓝色球号码,从(k+1)开始,不大于33;
第五重m:第五个蓝色球号码,从(l+1)开始,不大于33;
第六重n:第六个蓝色球号码,从(m+1)开始,不大于33;
这样生成的六个从小到大排列的蓝色球号码,不重复。
然后用一个for循环红色球好么,从1到16.
这样就完成了。
drop table [dbo].[DoubleColorBall]
GOCREATE TABLE [dbo].[DoubleColorBall] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Red1] [int] NOT NULL,
[Red2] [int] NOT NULL,
[Red3] [int] NOT NULL,
[Red4] [int] NOT NULL,
[Red5] [int] NOT NULL,
[Red6] [int] NOT NULL,
[Blue] [int] NOT NULL
) ON [PRIMARY]
GOALTER TABLE [dbo].[DoubleColorBall] ADD
CONSTRAINT [PK_DoubleColorBall] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GOcreate proc MakeDoubleColorBall
as
declare @r1 as int --红球1
declare @r2 as int --红球2
declare @r3 as int --红球3
declare @r4 as int --红球4
declare @r5 as int --红球5
declare @r6 as int --红球6
declare @b as int --篮球declare @sql as varchar(100) --插入Sql语句set @r1=1
while(@r1<29)
begin
set @r2=@r1+1
while(@r2<30)
begin
set @r3=@r2+1
while(@r3<31)
begin
set @r4=@r3+1
while(@r4<32)
begin
set @r5=@r4+1
while(@r5<33)
begin
set @r6=@r5+1
while(@r6<34)
begin
set @b=1
while(@b<17)
begin
set @sql='insert into DoubleColorBall (Red1,Red2,Red3,Red4,Red5,Red6,Blue) Values(' + cast(@r1 as varchar(2)) + ',' + cast(@r2 as varchar(2)) + ',' + cast(@r3 as varchar(2)) + ',' + cast(@r4 as varchar(2)) + ',' + cast(@r5 as varchar(2)) + ',' + cast(@r6 as varchar(2)) + ',' + cast(@b as varchar(2)) +')'
exec (@sql) --插入记录
set @b=@b+1
end
set @r6=@r6+1
end set @r5=@r5+1
end
set @r4=@r4+1
end set @r3=@r3+1
end set @r2=@r2+1
end set @r1=@r1+1
end
\wuzhengxuan大哥.你能给个嘛?存储过程的.批量插入的.效率高的.
drop table [dbo].[DoubleColorBall]
GOCREATE TABLE [dbo].[DoubleColorBall] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Red1] [int] NOT NULL,
[Red2] [int] NOT NULL,
[Red3] [int] NOT NULL,
[Red4] [int] NOT NULL,
[Red5] [int] NOT NULL,
[Red6] [int] NOT NULL,
[Blue] [int] NOT NULL
) ON [PRIMARY]
GOALTER TABLE [dbo].[DoubleColorBall] ADD
CONSTRAINT [PK_DoubleColorBall] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GOcreate proc MakeDoubleColorBall
as
declare @r1 as int --红球1
declare @r2 as int --红球2
declare @r3 as int --红球3
declare @r4 as int --红球4
declare @r5 as int --红球5
declare @r6 as int --红球6
declare @b as int --篮球
set @r1=1
while(@r1<29)
begin
set @r2=@r1+1
while(@r2<30)
begin
set @r3=@r2+1
while(@r3<31)
begin
set @r4=@r3+1
while(@r4<32)
begin
set @r5=@r4+1
while(@r5<33)
begin
set @r6=@r5+1
while(@r6<34)
begin
insert into DoubleColorBall (Red1,Red2,Red3,Red4,Red5,Red6,Blue) Values(@r1,@r2,@r3 ,@r4,@r5,@r6,1)
--插入记录
set @r6=@r6+1
end set @r5=@r5+1
end
set @r4=@r4+1
end set @r3=@r3+1
end set @r2=@r2+1
end set @r1=@r1+1
endinsert into DoubleColorBall select Red1,Red2,Red3,Red4,Red5,Red6,Blue+1 from DoubleColorBall ---复制篮球2
insert into DoubleColorBall select Red1,Red2,Red3,Red4,Red5,Red6,Blue+2 from DoubleColorBall ---复制篮球3,4
insert into DoubleColorBall select Red1,Red2,Red3,Red4,Red5,Red6,Blue+4 from DoubleColorBall ---复制篮球5,6,7,8
insert into DoubleColorBall select Red1,Red2,Red3,Red4,Red5,Red6,Blue+8 from DoubleColorBall ---复制篮球9,10,11,12,13,14,15,16
是啊.我想,要在里面在进行查找啊.什么的.就要用2分查找了.想学习下.
中奖.还是发梦先会中.哈哈.
最终的中奖号码是不是习惯性进行大小排序呢?人家 2 33 14 15 16 28 5中奖
你买彩票的时候打印出来的是:2 14 15 16 28 33 5去领奖人家不给你?
11楼的wuzhengxuan同学?