ASP+数据库 循环录入/输出问题
我想将属于同一个批次的四组数据存储到一个数据表中,后面还有很多的批次,也要存入这个数据表中;请问数据表结构该如何设计最简洁,录入和输出的ASP循环语句又该如何编写呢?请高...
我想将属于同一个批次的四组数据存储到一个数据表中,后面还有很多的批次,也要存入这个数据表中;请问数据表结构该如何设计最简洁,录入和输出的ASP循环语句又该如何编写呢?请高手指点,谢谢!
我目前采用的数据表结构和编写的程序都很复杂,具体如下:
pcdm(主键) pcsf jx1 ts1 sf1 bz1 jx2 ts2 sf2 bz2 ....jx20 ts20 sf20 bz20
数据修改程序如下:
<%
act="select * from pcxx where pcdm="&request.form("pcdm")
set rs1=server.createobject("adodb.recordset")
rs1.open act,conn,1,3
%>
<%
rs1("jx1")=request.form("jx1")
rs1("jx2")=request.form("jx2")
rs1("jx3")=request.form("jx3")
rs1("jx4")=request.form("jx4")
rs1("jx5")=request.form("jx5")
rs1("jx6")=request.form("jx6")
rs1("jx7")=request.form("jx7")
rs1("jx8")=request.form("jx8")
rs1("jx9")=request.form("jx9")
rs1("ts1")=request.form("ts1")
.......
rs1("ts9")=request.form("ts9")
rs1("sf1")=request.form("sf1")
.......
rs1("sf9")=request.form("sf9")
rs1("bz1")=request.form("bz1")
........
rs1("bz9")=request.form("bz9")
%>
rs1.update
rs1.close
set rs1=nothing
conn.close
set conn=nothing
response.redirect"fhsj.asp"
%> 展开
我目前采用的数据表结构和编写的程序都很复杂,具体如下:
pcdm(主键) pcsf jx1 ts1 sf1 bz1 jx2 ts2 sf2 bz2 ....jx20 ts20 sf20 bz20
数据修改程序如下:
<%
act="select * from pcxx where pcdm="&request.form("pcdm")
set rs1=server.createobject("adodb.recordset")
rs1.open act,conn,1,3
%>
<%
rs1("jx1")=request.form("jx1")
rs1("jx2")=request.form("jx2")
rs1("jx3")=request.form("jx3")
rs1("jx4")=request.form("jx4")
rs1("jx5")=request.form("jx5")
rs1("jx6")=request.form("jx6")
rs1("jx7")=request.form("jx7")
rs1("jx8")=request.form("jx8")
rs1("jx9")=request.form("jx9")
rs1("ts1")=request.form("ts1")
.......
rs1("ts9")=request.form("ts9")
rs1("sf1")=request.form("sf1")
.......
rs1("sf9")=request.form("sf9")
rs1("bz1")=request.form("bz1")
........
rs1("bz9")=request.form("bz9")
%>
rs1.update
rs1.close
set rs1=nothing
conn.close
set conn=nothing
response.redirect"fhsj.asp"
%> 展开
2个回答
展开全部
如果可以保证 你数据库 字段名(FieldName) 和 提交的 form( FieldName )
相同,一一对应的话,你可以这样做,给你提示吧:
遍历所有的Request.Form并取得名字
<%
Dim FieldName
act="select * from pcxx where pcdm="&request.form("pcdm")
set rs1=server.createobject("adodb.recordset")
rs1.open act,conn,1,3
rs1.addNew '注意:这行你提供的代码里没有,呵呵!
For Each FieldName In Request.Form
rs1( FieldName) = Request.Form( FieldName )
Next
rs1.update
rs1.close
set rs1=nothing
conn.close
set conn=nothing
response.redirect"fhsj.asp"
%>
不过,个人认为你的数据库设计确实很大问题,既然是这种重复性很强的
表字段 ,你为什么不新建立一个独立的表呢,然后,两个表之间建立一个
主键查询就完了!例如:
原表:pc
字段:pcdm(主键) pcsf
建立一个新表: jx_ts_sf_bz
字段:pcdm num jx ts sf bz
两表都有pcdm作为主键约束 ,而新建立的表还可以以 pcdm 和num字段组合主键。假设表内数据为:
pcdm num jx ts sf bz
001 1 ~ ~ ~ ~
001 2 ~ ~ ~ ~
001 3 ~ ~ ~ ~
...
001 20 ~ ~ ~ ~
002 1 ~ ~ ~ ~
002 2 ~ ~ ~ ~
002 3 ~ ~ ~ ~
...
002 20 ~ ~ ~ ~
这样 把原表拆分开,管理才是科学的做法,这就叫做2范式->3范式
你没学过数据库原理么?
相同,一一对应的话,你可以这样做,给你提示吧:
遍历所有的Request.Form并取得名字
<%
Dim FieldName
act="select * from pcxx where pcdm="&request.form("pcdm")
set rs1=server.createobject("adodb.recordset")
rs1.open act,conn,1,3
rs1.addNew '注意:这行你提供的代码里没有,呵呵!
For Each FieldName In Request.Form
rs1( FieldName) = Request.Form( FieldName )
Next
rs1.update
rs1.close
set rs1=nothing
conn.close
set conn=nothing
response.redirect"fhsj.asp"
%>
不过,个人认为你的数据库设计确实很大问题,既然是这种重复性很强的
表字段 ,你为什么不新建立一个独立的表呢,然后,两个表之间建立一个
主键查询就完了!例如:
原表:pc
字段:pcdm(主键) pcsf
建立一个新表: jx_ts_sf_bz
字段:pcdm num jx ts sf bz
两表都有pcdm作为主键约束 ,而新建立的表还可以以 pcdm 和num字段组合主键。假设表内数据为:
pcdm num jx ts sf bz
001 1 ~ ~ ~ ~
001 2 ~ ~ ~ ~
001 3 ~ ~ ~ ~
...
001 20 ~ ~ ~ ~
002 1 ~ ~ ~ ~
002 2 ~ ~ ~ ~
002 3 ~ ~ ~ ~
...
002 20 ~ ~ ~ ~
这样 把原表拆分开,管理才是科学的做法,这就叫做2范式->3范式
你没学过数据库原理么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询