皇宫半岛房价:懂ASP的高手来帮我一个忙把

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 12:18:40
在ASP程序设计中,
假如数据库已经打开,
我们知道要打开一个表的数据的时候我们会用以下代码:
sql="select 字段 from 表 where 字段=条件"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
……
显示数据的时候我们会这样写代码:
do while not rs.eof
response.write(rs("字段名"))
response.write(rs("字段名"))
rs.movenext
loop
rs.close
conn.close

大家注意:sql="select 字段 from 表 where 字段=条件"
这句SQL语句的功能只能打开一个表中的数据,
假如我现在有两个或者更多的表,我要打开一个主表,但主表中的某个字段和另一个表的某个字段有联系,我应该怎么去写这个SQL代码,在显示数据的时候我应该注意些什么呢?
具体如何实现多表数据的显示呢?大家帮帮忙了。

select 成绩 from 学生选课表 where 学号 in (select 学号 from 学生表 where 学号=1)

学生表 和学生选课表是两张表 从学生选棵表中打开 学声表中学号 为 1 的学生的成绩。。。

是个例子 你看看的懂不`?

sql="select a.需要显示的字段列表,b.需要显示的字段列表 from 主表 a,外表 b where a.关联字段=b.关联字段"

不管什么样的SQL语句,返回的都是一个记集集,也就是一张表,显示数据的时候都一样,你就当成是一张表就可以了。

使用连接查询(join) 或者 直接查询多表

直接查询多表如下:

select 表1.字段,表2.字段 from 表1,表2 where 表1.字段=表2.字段

如果表名过长,可以使用 "表1 别名" 来指定一个缩写的别名
例如:

select a.字段,b.字段 from 表1 a,表2 b where a.字段=b.字段

select * from table1 where ....
rs.open sql,conn,1,1
a=rs("a")
b=rs("b")
c=rs("c")
rs.close

select * from table2 where ....
rs.open sql,conn,1,1
d=rs("d")
e=rs("e")
f=rs("f")
rs.close
set rs=nothing
conn.close
set conn=nothing

在这里,只要你不使用到

conn.close
set conn=nothing

后面都可以直接用select进行其他表的查询
直到链接关闭为止

多表查询
select table1.*,table2.* from table1,table2 where table1.id=table2.id ' 在这里就两表的id相同的时候是他成立的条件了
rs.open sql,conn,1,1
a=rs("a")
b=rs("b")
c=rs("c")
d=rs("d")
e=rs("e")
f=rs("f")
rs.close
set rs=nothing
conn.close
set conn=nothing

楼下继续