ASP ACCESS 多表联合查询问题
答案:3 悬赏:40 手机版
解决时间 2021-11-15 23:33
- 提问者网友:我没有何以琛的痴心不悔
- 2021-11-15 13:24
ASP ACCESS 多表联合查询问题
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-11-15 14:15
ASP代码如下(定义banzhuren函数,传递参数为学生的ID):
<%
'定义banzhuren函数
function banzhuren(stuid)
dim rs,sql
set rs =server.CreateObject("adodb.recordset")
sql="select 教师表.教师姓名,教师表.教师ID from 教师表,班级表,学生表 where 学生表.学生id="&stuid&" and 班级表.班级id=学生表.班级id and 教师表.教师id=班级表.教师id"
rs.open sql,conn,1,1
banzhuren=rs("教师姓名")
end function
'调用函数测试输出学生ID为1教师姓名
response.Write(banzhuren(1))
%>
<%
'定义banzhuren函数
function banzhuren(stuid)
dim rs,sql
set rs =server.CreateObject("adodb.recordset")
sql="select 教师表.教师姓名,教师表.教师ID from 教师表,班级表,学生表 where 学生表.学生id="&stuid&" and 班级表.班级id=学生表.班级id and 教师表.教师id=班级表.教师id"
rs.open sql,conn,1,1
banzhuren=rs("教师姓名")
end function
'调用函数测试输出学生ID为1教师姓名
response.Write(banzhuren(1))
%>
全部回答
- 1楼网友:野味小生
- 2021-11-15 16:46
你可以在access的查询功能里面先测试下SQL语句。
select C.教师ID, C.教师姓名 from 学生表 A, 班级表 B, 教师表 C where A.班级ID=B.班级ID and B.教师ID=C.教师ID and A.学生ID=1
select C.教师ID, C.教师姓名 from 学生表 A, 班级表 B, 教师表 C where A.班级ID=B.班级ID and B.教师ID=C.教师ID and A.学生ID=1
- 2楼网友:神鬼未生
- 2021-11-15 15:38
select 教师ID, 教师姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问教师姓名 不能获取到,能否加Q请教?追答select 班级表.教师ID, 班级表.教师姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问班级表没有教师姓名,班级表只有教师ID
教师姓名是储存在教师表中追答不好意思,一着急打错了
select 教师表.教师ID, 教师表.教师姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问你好先感谢你,但输出的结果为空
<%=banzhuren()%>
<%Function banzhuren()
dim rs,sql
set rs = ....
sql="你写的SQL语句"
rs.open sql,conn,1,1
Banzhuren=rs("班主任姓名")
rs.close
set rs=nothing
End Function%>追答学生ID你输入了么?需要换成你的查询条件的,再就是检查一下你的数据库中是否真有对应的数据。
你的结果集中取的列名是“班主任姓名”,所以需要修改列名
select 教师表.教师ID, 教师表.教师姓名 as 班主任姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问学生ID我直接输入存在ID
select 教师表.教师ID, 教师表.教师姓名 as banzhuren
<%
Function banzhuren()
dim rs,sql
set rs = ....
sql="你写的最新SQL语句"
rs.open sql,conn,1,1
Banzhuren=rs("banzhuren") 这里这样写没问题吧?
......
%>还是不行追答你的asp代码是有问题的
你可以在access下验证一下语句是否有结果,然后再调你的页面代码,你的页面代码连循环都美欧,肯定是不对的吧
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问教师姓名 不能获取到,能否加Q请教?追答select 班级表.教师ID, 班级表.教师姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问班级表没有教师姓名,班级表只有教师ID
教师姓名是储存在教师表中追答不好意思,一着急打错了
select 教师表.教师ID, 教师表.教师姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问你好先感谢你,但输出的结果为空
<%=banzhuren()%>
<%Function banzhuren()
dim rs,sql
set rs = ....
sql="你写的SQL语句"
rs.open sql,conn,1,1
Banzhuren=rs("班主任姓名")
rs.close
set rs=nothing
End Function%>追答学生ID你输入了么?需要换成你的查询条件的,再就是检查一下你的数据库中是否真有对应的数据。
你的结果集中取的列名是“班主任姓名”,所以需要修改列名
select 教师表.教师ID, 教师表.教师姓名 as 班主任姓名
from 学生表,班级表,教师表
where 学生表.学生ID='现在知道学生的ID' and 学生表.班级ID=班级表.班级ID and 班级表.教师ID=教师表.教师ID追问学生ID我直接输入存在ID
select 教师表.教师ID, 教师表.教师姓名 as banzhuren
<%
Function banzhuren()
dim rs,sql
set rs = ....
sql="你写的最新SQL语句"
rs.open sql,conn,1,1
Banzhuren=rs("banzhuren") 这里这样写没问题吧?
......
%>还是不行追答你的asp代码是有问题的
你可以在access下验证一下语句是否有结果,然后再调你的页面代码,你的页面代码连循环都美欧,肯定是不对的吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯