昨天写一个预定座位的程序,要求在线提交信息,包括:座号、姓名、收费、报名点、上车点、电话、备注等信息,然后生成一个表格,来读取数据库中已提交的信息,没有被预定的座位显示为空。
程序已经写出来了,但是发现效率很低,把程序贴出来,请高手指点,或者提供一个思路也行。
现在我的数据库中已经有几条信息
我的设计思路是:先用 for 循环输出表格行数
然后每行(即每个座号)都读取一下数据库,看有没有被预定,如果没有被预定就显示为空白,如果被预定则显示预定人的信息
这样虽然实现了功能,但每次循环都得读取一下重建数据库链接,效率极低,哪位又没有好的办法,请指教。
<table width="800" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#000000">
<tr align="center" bgcolor="#FFFFFF">
<td width="38" height="20">座号</td>
<td width="79">姓名</td>
<td width="79">收费</td>
<td width="99">报名点</td>
<td width="263">上车点</td>
<td width="100">电话</td>
<td width="134">备注</td>
<%
if session("Purview")="0" then%>
<td width="67">操作</td>
<%end if%>
</tr>
<%
set rs1=server.CreateObject("Adodb.recordset")
sql="select * from lx where id="&id
rs1.open sql,conn,1,1
for i = 1 to rs1("renshu") 'lx表有个人数字段,用来控制表格的行数也就是座位的个数
set rsc=server.CreateObject("Adodb.RecordSet")
sql="select * from yuding where lxid='"&id&"' and zuohao='"&i&"'" 'lxid 为旅游线路的ID,
rsc.open sql,conn,1,1
if rsc.eof and rsc.bof then
%>
<tr align="center" bgcolor="#FFFFFF">
<td height="20"><%=i%></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<%
if session("Purview")="0" then%>
<td width="67"></td>
<%end if%>
</tr>
<%
else
%>
<tr align="center" bgcolor="#FFFFFF">
<td height="20"><%=i%></td>
<td><%=rsc("names")%></td>
<td><%=rsc("shoufei")%></td>
<td><%=rsc("bmdian")%></td>
<td><%=rsc("scdian")%></td>
<td><%=rsc("tel")%></td>
<td><%=rsc("remark")%></td>
<%
if session("Purview")="0" then%>
<td width="67"><a href="Admin_Modify_yd.asp?id=<%=rsc("id")%>">修改</a> <a href="Admin_Del_yd.asp?lxid=<%=rsc("lxid")%>&id=<%=rsc("id")%>" onClick="return ConfirmDel();">删除</a></td>
<%end if%>
</tr>
<%
rsc.close
end if
set rsc=nothing
next
rs1.close
set rs1=nothing
%>
</table>
[此贴子已经被作者于2007-5-24 10:46:53编辑过]