怎样将新插入的数据的id写入另一个表

来源:互联网 发布:数控车床多头螺纹编程 编辑:程序博客网 时间:2024/06/07 18:12
【简述】
table1结构:
id    计划内容    完成节点    是否完成
1       出图      2012-4-30     否
2       技术单    2012-4-30     否

table2结构:
id    f_id    计划内容    完成节点   是否完成
1      1      1-1号图     2012-4-18     否
2      1      1-2号图     2012-4-20     否
3      2      1-1技术单   2012-4-15     否

table1是一级计划,table2是二级计划,id是自动编号的
table1.id=table2.f_id
页面上显示:每一条一级计划下面是与它相关的二级计划

【功能描述】
现在有一个功能是任务的结转功能,就是当任务到节点时还没完成,就将此条任务的完成节点多加一个月,但是在数据库中还要保存原来的这条数据,就是说,当任务结转时,数据库里有两条相同的任务,只不过一条完成节点是2012-4-30,还有一条是2012-5-30。

【问题描述】
现在的问题是:当一级计划结转了后,二级计划也要跟着结转。
但是,我现在的做法不能使二级计划跟着结转。下面是我写的代码:

lid=request("id")   
sql="insert into table1(计划内容,完成节点,是否完成) select 计划内容,完成节点,是否完成 from table1 where id=cint('"&lid&"')"    '复制一条记录到数据库里
set rs=server.createobject("adodb.recordset")
rs.open sql,connstr,1,3
rs("完成节点")=time1
rs.update
newid=rs("id")  '得到复制记录的id(不知道是不是这样获得)
rs.close

sql1="insert into table2(f_id,计划内容,完成节点,是否完成) select f_id,计划内容,完成节点,是否完成 from table2 where f_id=cint('"&lid&"')"    
set rs1=server.createobject("adodb.recordset")
rs1.open sql1,connstr,1,3
rs1("f_id")=newid
rs1("完成节点")=time2
rs1.update
rs1.close


用上面的表做例子:
问题1:当table1中的一级计划结转后,不能生成table2中的结果

table1:
id    计划内容    完成节点    是否完成
1       出图      2012-4-30     否
2       技术单    2012-4-30     否
3       出图      2012-5-30     否

table2
id    f_id    计划内容    完成节点   是否完成
1      1      1-1号图     2012-4-18     否
2      1      1-2号图     2012-4-20     否
3      2      1-1技术单   2012-4-15     否
4      3      1-1号图     2012-5-18     否
5      3      1-2号图     2012-5-20     否


问题2:如果一条一级计划下面有很多条二级计划,应该怎么办?
0 0