关于循环读取记录并写入数据库的问题求助
data.zip
(125.1 KB)
我在自学ASP,现在做一个成绩录入和保存的页面遇到困难,请高手指点一下,非常感谢!问题描述:我通过循环读取的方式从student表中读出学生姓名,然后在每个姓名后面动态添加文本框以输入学生成绩,最后将考试题目信息(每条记录前都要保存题目)、学生姓名、成绩保存到score表中,我不明白如何写保存的代码(因为姓名是循环读取的、文本框是动态添加的),请教高手指点!以下是全部代码
'连接文件conn.asp
<%
set conn=server.createobject("ADODB.CONNECTION")
connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "&Server.MapPath("data.mdb")
conn.open connstr
%>
'录入页面index.asp
<!--#include file="conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="stylesheet" type="text/css" href="css.css"/>
<title>成绩录入</title>
</head>
<body>
<form name="liebiao" action="" method="post">
<table class='datalist' width="900" height="50" border="0" align="center" cellpadding="0" cellspacing="0">
<tr class='datalist th'>
<th colspan='3'>成绩录入设置(必须设置)</th>
</tr>
<tr class='datalist td'>
<td>班 级:
<!--读取班级信息-->
<%
set rs=server.CreateObject("ADODB.RecordSet")
Source="select * from class order by id_bj"
rs.Open Source,conn,1,1
Response.write "<select name='classxx'><option value='0'>选择班级</option>"
Do While Not rs.EOF
Response.Write "<option value='"& rs("classxx") &"'>"& rs("classxx") &"</option>"
rs.MoveNext
Loop
Response.Write "</select>"
%>
</td>
</tr>
<tr>
<!--按照班级条件进行查询-->
<%
dim bj
bj= Request.Form("classxx")
set rs=server.CreateObject("ADODB.RecordSet")
Source = "select * from student where classxx='"&bj&"' order by id_xs"
rs.Open Source,conn,1,1
%>
<td></td>
<td></td>
<td><div align="right"><input type="submit" name="Submit" value="设置" /></div></td>
</tr>
</table>
</form>
<br>
<form method="post" action="save.asp">
<table width="900" height="50" border="0" align="center" cellpadding="0" cellspacing="0">
<tr class="datalist th">
<th colspan='5'>学生名单</th>
</tr>
<tr>
<td colspan="5">
<table align="center">
<tr>
<td>本次考试名称信息:<input type="text" name="title"></td><!--考试名称信息在写入数据库时,每条记录中都需要提交-->
</tr>
</table>
</td>
</tr>
<!--调取班级学生名单,并按一行5列显示名单-->
<tr>
<%
if rs.eof and rs.bof then
response.Write("未选择设置信息或该班暂时没有学生!")
else
i=1
Do Until rs.Eof
%>
<td> <%=i%>、<%=rs("xsname")%> <input name="score" type="text" id="score" style="width:20;" size="6" maxlength="6">
<%
i=i+1
if (i-1) mod 5=0 then
Response.Write"</td></tr>"
end if
rs.MoveNext
Loop
end if
%>
<tr>
<td colspan="5"><div align="right"><input type="submit" name="Submit" value="保存" /></div></td>
</tr>
</table>
</form>
</body>
</html>
'保存页面save.asp
<!--#include file="conn.asp"-->
<html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>保存成绩</title>
</head>
<body>
<%
'请教高手,如何提交和接收index页面中查询到的学生姓名(xsname)以及输入的成绩(score),并将其保存到表(score)中相应字段里。
set rs=server.CreateObject("ADODB.RecordSet")
Source="select * from score order by id_cj"
rs.Open Source,conn,1,3
dim bj,xs,cj,ks
bj= request("bj") '将所选班级赋值给变量
xs= request("xsname") '这里我将读取出来的学生姓名赋值给变量xs,不知道是否正确???
ks= request("title") '将所考试信息赋值给变量
cj= request("score") '这里我将每个学生名字后面录入的成绩赋值给变量xs,不知道是否正确???
rs.addnew
rs("classxx")=bj
rs("xsname")=xs
rs("examxx")=ks
rs("scorexx")=cj
rs.update
%>
</body>
</html>