一个简单的数组问题
现在想从一个人员表中读出四个人的名字,然后从中间加入一个人名,变成五个人名,然后拷贝入另一个人员表中去,请问用数组如何实现,我基本不用数组,请大侠帮助.
------解决方案--------------------说下思路:
1、从数组中取值加入数据表中,用循环实现
2、在循环到指定人物,如本例中的“李四”时,
if 变量=李四 then
  insert 数据表 “李四”
end if
------解决方案--------------------少写一行,应该是:
if 变量=李四 then
 insert 数据表 “李四”  
 insert 数据表 “胖子”
end if
------解决方案--------------------楼主的循环要求,比如用来进行值班循环,可按以下思路:
1. 同部门的人排序号,从1开始(给值班人员添加字段“排班”)
   1,2,3,4
2. 从最小序号的人开始值班,同时,该人的序号重置为本部门 最大序号+1
则 1 --> 5  张三值班
 2  
 3  
 4  
 5  
 2 --> 6  李四值班
 3  
 4  
 5  
 6  
 3 --> 7  王五值班
 4  
 5
 6
 7
 4 --> 8   赵六值班
3、如果中间插入“胖子”,则
  1 --> 5
 2 --> 6
 胖子-->7
 3  
 4  
4、说明:“排班”字段使用 32 位整型数,最大值 2147483647 (有符号),约 5883516 年
 使用数据库存储,写 SQL 代码比写其他的第三代高级语言代码简单。
 如是部门加了新人,则新人的排班序号为: 最大序号+1
------解决方案--------------------补充一下,如果有人比如“赵六”请假或出差,回来后参与值班。在其他人轮完一圈之后参与值班(变为值班状态)。那么赵六的序号应该是当前值班人的序号(已经+1)再+(值班人数-1)。
比如:
 5 
 2 --> 6 李四值班
 3 
 4
那么赵六的序号是:6+(4人-1)=9,下一轮值班应是:
 8 
 6
 7 
 9  赵六值班 
另外:顺便说一下数据表
select * from db order by  id
 aa=min(序号)
 序号=aa+(值班人数-1) 
*******
select 值班人员名称 from db where 序号=aa
  name=值班人员名称
*******
write(name)
解释:选取最小序号的人作为值班人员,同时把该序号+(值班人数-1)。把值班人员名称提出来,写在值班记录本上。
------解决方案--------------------
更正一下:
一、10楼第一句话有错误,应该是
   “补充一下,如果有人比如“赵六”请假或出差,回来后参与值班。在其他人轮完一圈之后参与值班(变为值班状态)。那么赵六的序号应该是当前值班人的序号(已经变为最大序号+1)再+(现有值班人数),而后将赵六变为值班状态。就是说,值班人员应该添加一个“状态”字段,以区分是否可以参与值班。”  
二、同理,如果有两个人同时请假,同时回来参与值班,那么,其中一人的序号为“当前值班人的序号(已经变为最大序号+1)再+(现有值班人数)",第一个人变为值班状态,“现有值班人数”也就多了1个。
   第二个人的序号为“当前值班人的序号(已经变为最大序号+1)再+(现有值班人数)”,第二个人变为值班状态。
三、下面几处地方,(值班人数-1)全部改为(现有值班人数),应该是
比如:
 5  
 2 --> 6 李四值班
 3  
 4
那么赵六的序号是:6+3=9,     //这里改动,同时赵六变为值班状态,现有值班人数变为3+1=4
下一轮值班应是:
 8  
 6
 7  
 9 赵六值班  
另外:顺便说一下数据表
select * from db order by id
 aa=min(序号)
 序号=aa+(现有值班人数)  
*******
select 值班人员名称 from db where 序号=aa
 name=值班人员名称
*******
write(name)
解释:选取最小序号的人作为值班人员,同时把该序号+(现有值班人数)。把值班人员名称提出来,写在值班记录本(显示在屏幕)上。