求ASP中用SQL查询三个数据库,更新数据
三个表的关系是:表1中的d_dengji对应表3中的z_zsdengji,d_mc对应表2中的各个字段名表2中的t_fenlei对应表3中的z_fenlei现在要计算表3...
三个表的关系是:
表1中的d_dengji对应表3中的z_zsdengji, d_mc对应表2中的各个字段名
表2中的t_fenlei对应表3 中的z_fenlei
现在要计算表3中z_jiangjin显示“未计算”的值
也就是表3z_fenlei=表2T_fenglei,表3Z_zsdengji=表1D_dengji(其表2的D_mc对应在表2中的字段值)来对表3中的未计算的进行计算,得出具体的值。
是ACCESS数据库,望高手给出完全的能算出结果的代码
数据库的链接代码就不用了。我太菜,尽量写完整些,谢谢
数据库我上传到360云盘了,高手下载给我测试一下,代码一定要可用,我真的太菜了。
==================================================================
别人给我如下代码:
rs1.open select * from dengji do while not rs1.eofrs2.open select rs1(“d_mc”) as aaaa from tongji where t_fenlei=rs1(“d_dnegji”)update zhengjian set z_jiangjin=rs2("aaaa") where z_zsdengji=rs1(“d_dnegji”)loop
但运行时显示
语法错误/Jjcount.asp, line 20, column 9 rs1.open select * from dengji
这样的写法可以吗,为什么语法错误rs1.open select * from dengji 展开
表1中的d_dengji对应表3中的z_zsdengji, d_mc对应表2中的各个字段名
表2中的t_fenlei对应表3 中的z_fenlei
现在要计算表3中z_jiangjin显示“未计算”的值
也就是表3z_fenlei=表2T_fenglei,表3Z_zsdengji=表1D_dengji(其表2的D_mc对应在表2中的字段值)来对表3中的未计算的进行计算,得出具体的值。
是ACCESS数据库,望高手给出完全的能算出结果的代码
数据库的链接代码就不用了。我太菜,尽量写完整些,谢谢
数据库我上传到360云盘了,高手下载给我测试一下,代码一定要可用,我真的太菜了。
==================================================================
别人给我如下代码:
rs1.open select * from dengji do while not rs1.eofrs2.open select rs1(“d_mc”) as aaaa from tongji where t_fenlei=rs1(“d_dnegji”)update zhengjian set z_jiangjin=rs2("aaaa") where z_zsdengji=rs1(“d_dnegji”)loop
但运行时显示
语法错误/Jjcount.asp, line 20, column 9 rs1.open select * from dengji
这样的写法可以吗,为什么语法错误rs1.open select * from dengji 展开
3个回答
展开全部
dim sql,D_mc
sql="select * from ZhengJian where Z_jiangjin='未计算'"
set rs=conn.execute(sql)
do while not rs.eof
set rs1=conn.execute("select D_mc from Dengji where D_Dengji='"&rs("Z_zsdengji")&"'")
if not(rs1.eof and rs1.bof) then
D_mc=rs1("D_mc")
else
response.write("数据表1数据不存在")
end if
set rs2=conn.execute("select "&D_mc&" from Tongji where T_fenlei='"&rs("Z_fenlei")&"'")
if not(rs2.eof and rs2.bof) then
conn.execute("upeate ZhengJian set Z_jiangjin='"&rs2(D_mc)&"' where Z_jiangjin='未计算'")
response.write("数据表2数据不存在")
end if
rs.movenext
loop
没测试,你看看吧,我也比较笨。你这个要求,应该是可以直接用一句SQL来完成的,但我不会写。上面代码可能会有错误,自己看看理解吧
更多追问追答
追问
对,就是要将“未计算”这字段更新为所对应的的奖金值
追答
想用VB代码的那个功能,结果出现上面的那些东西,下面是我写的
dim sql,D_mcsql="select * from ZhengJian where Z_jiangjin='未计算'"set rs=conn.execute(sql)do while not rs.eofset rs1=conn.execute("select D_mc from Dengji where D_Dengji='"&rs("Z_zsdengji")&"'")if not(rs1.eof and rs1.bof) thenD_mc=rs1("D_mc")elseresponse.write("数据表1数据不存在")end ifset rs2=conn.execute("select "&D_mc&" from Tongji where T_fenlei='"&rs("Z_fenlei")&"'")if not(rs2.eof and rs2.bof) thenconn.execute("upeate ZhengJian set Z_jiangjin='"&rs2(D_mc)&"' where Z_jiangjin='未计算'")response.write("数据表2数据不存在")end ifrs.movenextloop
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%
Set rs=server.CreateObject("adodb.recordset")
sql="Select * From dengji order by d_id desc"
rs.open sql,conn,1,1
do while not rs.eof
Set rs1=server.CreateObject("adodb.recordset")
sql1="Select "&rs("d_mc")&" as aaaa From tongji where t_fenlei='"&rs("d_dengji")&"' order by d_id desc"
rs1.open sql1,conn,1,1
if not rs1.eof then
jiangji=rs1("aaaa")
end if
rs1.close
set rs1=nothing
conn.execute("update zhengjian set z_jiangjin="&jiangjin&" where z_zsdengji='"&rs("d_dengji")&"' ")
rs.movenext
loop
rs.close
set rs=nothing
%>
不知道行不行,大概就是这样
更多追问追答
追问
jiangji=rs1("aaaa")改成了jiangjin,和下面对应,但运行后,Z_jiangjin值仍未改变,还是未计算。
追答
<%
Set rs=server.CreateObject("adodb.recordset")
sql="Select * From dengji order by d_id desc"
rs.open sql,conn,1,1
do while not rs.eof
Set rs1=server.CreateObject("adodb.recordset")
sql1="Select t_feilei, "&rs("d_mc")&" as aaaa From tongji where t_fenlei='"&rs("d_dengji")&"' order by d_id desc"
rs1.open sql1,conn,1,1
if not rs1.eof then
jiangjin=rs1("aaaa")
fenlei=rs1("t_feilei")
end if
rs1.close
set rs1=nothing
conn.execute("update zhengjian set z_jiangjin="&jiangjin&" where z_fenlei='"&fenlei&"' ")
rs.movenext
loop
rs.close
set rs=nothing
%>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-12
展开全部
做任务,帮你顶一顶。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询