帮忙看看这个新的怎莫做呢checkbox相关ado读写数据库问题
用ACCESS建立表db.mdb
结构如下
一."部门表"(两个字段分别为"部门编号","部门名称",均为TEXT类型)
表中记录例如:(总共有14条固定记录)
部门编号 部门名称
A 管理部
B 销售部
C 信息部
D 互联部
... ...
N 开发部
二."确认表"(两个字段分别为"确认号","确认部门",均为TEXT类型)
表中记录例如:(记录数不限)
确认号 确认部门
001 A,B,C
002 A,D
003 A,C,D
004 B,D
005 C,D
006 A,D
... ...
写一ASP程序(最好用VBS),要求如下:
一,在某页面DEFAULT.ASP中显示一个FORM,其中有一个文本框,供用户输入一个确认号
(例如001,002...)并可以SUBMIT到另一个页面READ.ASP中
其中READ.ASP中有一个FORM,包含文本框(显示SUBMIT过来的确认号)和CHECKBOX框(根据
确认号读取数据库中表二数据,并将打勾的状态反映到页面,在14个CHECKBOX中自动勾
选)
并且READ.ASP页面中用户可以对该确认号对应的确认部门CHECKBOX的打勾状态进行修改
,然后将该FORM SUBMIT后交给另一WRITE.ASP文件处理来实现将更改后的打勾状态重新
写入数据库表二中.
也就需要三个文件吧DEFAULT.ASP,READ.ASP,WRITE.ASP,
用下列代码连接数据库即可
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
'default.asp文件如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<form name="form1" method="post" action="READ.ASP">
<input name="qrh" type="text" id="qrh">
</form>
</body>
</html>
'read.asp如下
<%
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
dim Sql
dim Rs
qrh=trim(Request("qrh"))
Sql="select top 1 * from 确认表 where 确认号='" & qrh & "'" 'qry为确认号从de
fault.asp传来。
set Rs=conn.Execute(Sql)
if Not Rs.eof then
qrbm=trim(Rs("确认部门"))
else
qrbm=""
end if
Rs.Close
Sql="select * from 部门表"
set Rs=conn.Execute(Sql)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<form name="form1" method="post" action="write.ASP">
<%while Not Rs.eof
bmbh=trim(Rs("部门编号"))
bmmc=trim(Rs("部门名称"))
%>
<input name="qrbm" type="checkbox" value="<%=bmbh%>" <%if InStr(1,qrbm,bmb
h)>0 then Response.Write " checked"%>><%=bmmc%><BR>
<%
Rs.MoveNext
wend
Rs.close
set Rs=nothing
%>
<input name="qrh" type="hidden" id="qrh" value="<%=qrh%>">
<input type="submit" name="Submit" value="保存所作修改">
</form>
</body>
</html>
<%
conn.Close
set conn=nothing
%>
'write.asp文件如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<%
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
dim Sql
dim Rs
qrh=trim(Request("qrh"))
if qrh<>"" then
qrbm=trim(Request("qrbm")) 'read.asp中checkbox的name
Response.Write qrbm
Sql="update 确认表 set 确认部门='" & qrbm & "' where 确认号='" & qrh &
"'"
conn.Execute(Sql)
Response.Write "成功保存"
else
Response.Write "id号错误"
end if
%>
</body>
</html>
<%
conn.Close
set conn=nothing
%>
以上三个文件default.asp,read.asp,write.asp初步解决了问题
现在需要增加新功能演示...
新增功能如何实现呢?
首先在原有两个表的基础上新增加两个表
三."材料表"(共三个字段分别为"部门编号","材料编号","材料名称"均为TEXT类型)
表中记录例如:(与部门表一样记录固定不变)
部门编号 材料编号 材料名称
A A01 A01
A A02 AA02
B B01 BB01
B B02 BB02
B B03 BB03
C C01 CC01
D D01 DD01
D D02 DD02
D D03 DD03
D D04 DD04
E E01 EE01
F F01 FF01
G G01 GG01
H H01 HH01
I I01 II01
J J01 JJ01
K K01 KK01
K K02 KK02
L L01 LL01
M M01 MM01
N N01 NN01
N N02 NN02
四."确认材料表"(共两个字段分别为"确认号","确认材料",均为TEXT类型)
(其中字段"确认号"和表"确认表"中的字段"确认号"意义相同)
表中记录例如:(记录数不限)
(每条记录中字段"确认部门"的内容为表"材料表"中"材料编号"字段所得)
(例如,若"确认材料表"确认号为003的记录涉及到A,D,I,L四个部门,则该记录的确认材
料字段内容就是相应的A,D,I,L四个部门所有的材料的集合.)
确认号 确认材料
001 A01,A02,B01,B02,B03,C01,D01,D02,D03,D04,K01,K02,N01,N02
002 C01,G01,J01,N01,N02
003 A01,A02,D01,D02,D03,D04,I01,L01
004 B01,B02,B03,K01,K02,N01,N02
... ...
现要求再增加一个页面实现下面的功能,需要DEFAULT2.ASP,READ2.ASP,WRITE2.ASP三
个ASP文件
一.在某页面DEFAULT2.ASP中显示一个FORM,其中有一个文本框,供用户输入一个确认号
(例如001,002...)并可以SUBMIT到另一个页面READ2.ASP中
二.其中READ2.ASP中有一个FORM,包含文本框(显示SUBMIT过来的确认号)和CHECKBOX框(
根据确认号读取数据库中表"确认材料表"中"确认材料"中的数据,并将打勾的状态反映
到页面,在N个CHECKBOX中自动勾选)(其中具体多少个CHECKBOX是根据该确认号所涉及到
的"部门编号"自动在READ2.ASP页面生成的,例如确认号为003的记录涉及到A,D,I,L四个
部门,则READ2.ASP页面的CHECKBOX总共要显示8个,因为A,D,I,L四个部门总共所需的材
料数是8(由"材料表"可知),并且8也是0003记录"确认材料"字段的内容用逗号分割开(用
到SPLIT函数的)的字符串数目)
并且READ2.ASP页面中用户可以对该确认号对应的确认材料CHECKBOX的打勾状态进行修改 ,然后将该FORM SUBMIT后交给另一WRITE2.ASP文件处理来实现将更改后的打勾状态重新
写入数据库表"确认材料表"中.
呵呵,在有了DEFAULT.ASP,READ.ASP,WRITE.ASP的基础上,
新功能关键的地方就是READ2.ASP中如何根据确认号来判断该确认号所涉及到的部门,并
将各部门所需的所有材料显示成CHECKBOX的形式,读出数据反映到CHECKBOX中并能够修改
。
学习ASP中,大家帮忙看看吧,该怎莫写呢?
是不是我这种思路有点麻烦?最好怎莫实现呢?还需要增加别的.ASP吗?
think...who can hp me,hehe,but the file is so long,sorry le:)
or i will describe a simple problem with little words,hehe,
高手指教了,那个数据库文件可以从我的ftp下载一个,我已经做好
需要的话mail to me,thanks a lot,now thinking myself
用ACCESS建立表db.mdb
结构如下
一."部门表"(两个字段分别为"部门编号","部门名称",均为TEXT类型)
表中记录例如:(总共有14条固定记录)
部门编号 部门名称
A 管理部
B 销售部
C 信息部
D 互联部
... ...
N 开发部
二."确认表"(两个字段分别为"确认号","确认部门",均为TEXT类型)
表中记录例如:(记录数不限)
确认号 确认部门
001 A,B,C
002 A,D
003 A,C,D
004 B,D
005 C,D
006 A,D
... ...
写一ASP程序(最好用VBS),要求如下:
一,在某页面DEFAULT.ASP中显示一个FORM,其中有一个文本框,供用户输入一个确认号
(例如001,002...)并可以SUBMIT到另一个页面READ.ASP中
其中READ.ASP中有一个FORM,包含文本框(显示SUBMIT过来的确认号)和CHECKBOX框(根据
确认号读取数据库中表二数据,并将打勾的状态反映到页面,在14个CHECKBOX中自动勾
选)
并且READ.ASP页面中用户可以对该确认号对应的确认部门CHECKBOX的打勾状态进行修改
,然后将该FORM SUBMIT后交给另一WRITE.ASP文件处理来实现将更改后的打勾状态重新
写入数据库表二中.
也就需要三个文件吧DEFAULT.ASP,READ.ASP,WRITE.ASP,
用下列代码连接数据库即可
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
'default.asp文件如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<form name="form1" method="post" action="READ.ASP">
<input name="qrh" type="text" id="qrh">
</form>
</body>
</html>
'read.asp如下
<%
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
dim Sql
dim Rs
qrh=trim(Request("qrh"))
Sql="select top 1 * from 确认表 where 确认号='" & qrh & "'" 'qry为确认号从de
fault.asp传来。
set Rs=conn.Execute(Sql)
if Not Rs.eof then
qrbm=trim(Rs("确认部门"))
else
qrbm=""
end if
Rs.Close
Sql="select * from 部门表"
set Rs=conn.Execute(Sql)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<form name="form1" method="post" action="write.ASP">
<%while Not Rs.eof
bmbh=trim(Rs("部门编号"))
bmmc=trim(Rs("部门名称"))
%>
<input name="qrbm" type="checkbox" value="<%=bmbh%>" <%if InStr(1,qrbm,bmb
h)>0 then Response.Write " checked"%>><%=bmmc%><BR>
<%
Rs.MoveNext
wend
Rs.close
set Rs=nothing
%>
<input name="qrh" type="hidden" id="qrh" value="<%=qrh%>">
<input type="submit" name="Submit" value="保存所作修改">
</form>
</body>
</html>
<%
conn.Close
set conn=nothing
%>
'write.asp文件如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<%
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
dim Sql
dim Rs
qrh=trim(Request("qrh"))
if qrh<>"" then
qrbm=trim(Request("qrbm")) 'read.asp中checkbox的name
Response.Write qrbm
Sql="update 确认表 set 确认部门='" & qrbm & "' where 确认号='" & qrh &
"'"
conn.Execute(Sql)
Response.Write "成功保存"
else
Response.Write "id号错误"
end if
%>
</body>
</html>
<%
conn.Close
set conn=nothing
%>
以上三个文件default.asp,read.asp,write.asp初步解决了问题
现在需要增加新功能演示...
新增功能如何实现呢?
首先在原有两个表的基础上新增加两个表
三."材料表"(共三个字段分别为"部门编号","材料编号","材料名称"均为TEXT类型)
表中记录例如:(与部门表一样记录固定不变)
部门编号 材料编号 材料名称
A A01 A01
A A02 AA02
B B01 BB01
B B02 BB02
B B03 BB03
C C01 CC01
D D01 DD01
D D02 DD02
D D03 DD03
D D04 DD04
E E01 EE01
F F01 FF01
G G01 GG01
H H01 HH01
I I01 II01
J J01 JJ01
K K01 KK01
K K02 KK02
L L01 LL01
M M01 MM01
N N01 NN01
N N02 NN02
四."确认材料表"(共两个字段分别为"确认号","确认材料",均为TEXT类型)
(其中字段"确认号"和表"确认表"中的字段"确认号"意义相同)
表中记录例如:(记录数不限)
(每条记录中字段"确认部门"的内容为表"材料表"中"材料编号"字段所得)
(例如,若"确认材料表"确认号为003的记录涉及到A,D,I,L四个部门,则该记录的确认材
料字段内容就是相应的A,D,I,L四个部门所有的材料的集合.)
确认号 确认材料
001 A01,A02,B01,B02,B03,C01,D01,D02,D03,D04,K01,K02,N01,N02
002 C01,G01,J01,N01,N02
003 A01,A02,D01,D02,D03,D04,I01,L01
004 B01,B02,B03,K01,K02,N01,N02
... ...
现要求再增加一个页面实现下面的功能,需要DEFAULT2.ASP,READ2.ASP,WRITE2.ASP三
个ASP文件
一.在某页面DEFAULT2.ASP中显示一个FORM,其中有一个文本框,供用户输入一个确认号
(例如001,002...)并可以SUBMIT到另一个页面READ2.ASP中
二.其中READ2.ASP中有一个FORM,包含文本框(显示SUBMIT过来的确认号)和CHECKBOX框(
根据确认号读取数据库中表"确认材料表"中"确认材料"中的数据,并将打勾的状态反映
到页面,在N个CHECKBOX中自动勾选)(其中具体多少个CHECKBOX是根据该确认号所涉及到
的"部门编号"自动在READ2.ASP页面生成的,例如确认号为003的记录涉及到A,D,I,L四个
部门,则READ2.ASP页面的CHECKBOX总共要显示8个,因为A,D,I,L四个部门总共所需的材
料数是8(由"材料表"可知),并且8也是0003记录"确认材料"字段的内容用逗号分割开(用
到SPLIT函数的)的字符串数目)
并且READ2.ASP页面中用户可以对该确认号对应的确认材料CHECKBOX的打勾状态进行修改 ,然后将该FORM SUBMIT后交给另一WRITE2.ASP文件处理来实现将更改后的打勾状态重新
写入数据库表"确认材料表"中.
呵呵,在有了DEFAULT.ASP,READ.ASP,WRITE.ASP的基础上,
新功能关键的地方就是READ2.ASP中如何根据确认号来判断该确认号所涉及到的部门,并
将各部门所需的所有材料显示成CHECKBOX的形式,读出数据反映到CHECKBOX中并能够修改
。
学习ASP中,大家帮忙看看吧,该怎莫写呢?
是不是我这种思路有点麻烦?最好怎莫实现呢?还需要增加别的.ASP吗?
think...who can hp me,hehe,but the file is so long,sorry le:)
or i will describe a simple problem with little words,hehe,
高手指教了,那个数据库文件可以从我的ftp下载一个,我已经做好
需要的话mail to me,thanks a lot,now thinking myself
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货