网站建设与管理项目十二在ASP中使用数据库多课件.ppt

上传人:牧羊曲112 文档编号:2138162 上传时间:2023-01-17 格式:PPT 页数:81 大小:1.18MB
返回 下载 相关 举报
网站建设与管理项目十二在ASP中使用数据库多课件.ppt_第1页
第1页 / 共81页
网站建设与管理项目十二在ASP中使用数据库多课件.ppt_第2页
第2页 / 共81页
网站建设与管理项目十二在ASP中使用数据库多课件.ppt_第3页
第3页 / 共81页
网站建设与管理项目十二在ASP中使用数据库多课件.ppt_第4页
第4页 / 共81页
网站建设与管理项目十二在ASP中使用数据库多课件.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《网站建设与管理项目十二在ASP中使用数据库多课件.ppt》由会员分享,可在线阅读,更多相关《网站建设与管理项目十二在ASP中使用数据库多课件.ppt(81页珍藏版)》请在三一办公上搜索。

1、项目十二 在ASP中使用数据库多表操作,项目背景 在程序开发过程中,不仅需要对单一数据表进行查询,还要进行多表查询,用户通过多表查询,从多张表中提取出需要的数据。,比如学生信息与学生的成绩是两张不同的数据库表,但在动态网站开发过程中,常常要通过学生的信息去查询或修改其学生的成绩;又如学生的成绩与学科也是不同的数据库表,也经常去查找学生某一学科的成绩。,任务12.1 使用内连接查询记录 任务12.2 使用外连接查询记录 任务12.3 使用分页技术,技术导读本项目技术重点:会使用内连接查询数据库表 会使用外连接查询数据库表 会使用分页技术 了解什么是Web编程,理解B/S和C/S编程模式的优缺点,

2、12.1 任务一使用内连接查询记录,一、任务描述 两表之间的内连接查询记录,可以实现两张不同表之间的关联,在显示的效果中,可以用一条记录查看两张表中内容,内连接查询可以轻松达到这样的效果,如图12-1-1所示。,图12-1-1 内连接查询,二、任务分析,查询数据库两张表的记录时,可以在FORM子句中,使用INNER JOINON建立内连接,也可以在WHERE子句中,指定连接条件建立内连接。这两种都是非常常用的连接查询方法。,三、知识准备,12.1.1 内连接查询基础知识 可以在FORM子句中使用INNER JOINON建立内连接,也可以在WHERE子句中指定连接条件建立内连接,例如:,也可以用

3、下面的语句实现。,下面在SQL语句FROM后面使用INNER JOIN和ON关键字关联数据表“UserInfo”和“SellSheet”,并根据输入的用户名称进行查询。,程序代码如下。Then txt_name=Trim(Request(txt_name)Set rs=Server.CreateObject(ADODB.Recordset)Set rs=Server.CreateObject(ADODB.Recordset),sqlstr=select a.UserName,b.BookName,b.Datetm from UserInfo as a inner join SellSheet

4、as b on a.UserID=b.UserID where a.UserName like%&txt_name&%rs.open sqlstr,Conn,1,1%,12.1.2 内连接查询详细语法,使用SQL连接两张表的基本语法是:select*FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2,表12-1 INNER JOIN 的操作内容,下例代码显示了通过 CategoryID 字段,连接 Categories 和 Products 表的过程。SELECT CategoryName,ProductNa

5、meFROM Categories INNER JOIN ProductsON Categories.CategoryID=Products.CategoryID;,也可以在 JOIN 语句中,链接多个 ON 子句,基本语法如下。SELECT fieldsFROM table1 INNER JOIN table2ON table1.field1 compopr table2.field1 AND,ON table1.field2 compopr table2.field2 ORON table1.field3 compopr table2.field3;,也可以通过如下语法,嵌套 JOIN 语

6、句,基本语法如下:SELECT fieldsFROM table1 INNER JOIN(table2 INNER JOIN(table3INNER JOIN(tablex INNER JOIN.),ON table3.field3 compopr tablex.fieldx)ON table2.field2 compopr table3.field3)ON table1.field1 compopr table2.field2;,12.1.3 使用UNION进行联合查询,使用UNION运算符遵循的规则如下。(1)在使用UNION运算符组合的语句中,所有选择列表的表达式数目必须相同(列名、算术

7、表达式、聚集函数等)。,(2)在使用UNION组合的结果集中的相应列,必须具有相同数据类型,或者两种数据类型之间,必须存在可能的隐性数据转换,或者提供了显式转换。(3)结果集中列的名字或者别名,是由第一个SELECT语句的选择列表决定。,程序代码如下。Then txt_name=Trim(Request(txt_name)Set rs=Server.CreateObject(ADODB.Recordset),sqlstr=select UserID,UserName from UserInfo where UserName=&txt_name&union select UserID,BookN

8、ame from Sell Sheet where UserName=&txt_name&rs.open sqlstr,Conn,1,1%,注意:对数据表进行联合查询时,结果集中行的最大数量是各表行数之“和”,而对数据表进行连接查询时,结果集中行的最大数量是各表行数之“积”。,四、任务实施,步骤1创建ASP网页,图12-1-2 新建ASP网页,步骤2建立两个数据库表,图12-1-3 数据库表a,图12-1-4 数据库表b,步骤3输入代码%dim connSet conn=Server.CreateObject(ADODB.connection),sql=Driver=Microsoft Acc

9、ess Driver(*.mdb);DBQ=&Server.MapPath(database/db_database.mdb)conn.open(sql),%set rs=Server.createobject(ADODB.Recordset)sqlstr=select*from a inner join b on a.aid=b.bid rs.open sqlstr,conn while not rs.eof,%两表ID相同的字段为%rs.movenextwend,rs.close conn.close set conn=nothing%,图12-1-5 网页代码,步骤4测试代码,图12-1

10、-6 运行结果,12.2 任务二使用外连接查询记录,一、任务描述 使用外连接查询记录,也可以实现要求返回左侧或右侧数据集合中非匹配的数据,此方法多用于两表或多表间的对比,测试效果图如图12-2-1所示。,图12-2-1 使用外连接查询记录,二、任务分析,外连接是对内连接的扩充,除了将两个数据集合中重叠部分以内的数据行连接起来之外,还可以根据要求返回左侧或右侧数据集合中非匹配的数据,即左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。,三、知识准备,12.2.1 左外连接LEFT OUTER JOIN其参考程序代码如下。Then txt_name=Trim

11、(Request(txt_name),Set rs=Server.CreateObject(ADODB.Recordset)sqlstr=select a.UserName,b.BookName,b.Datetm from UserInfo as a left outer join SellSheet as b on a.UserID=b.User ID where a.UserName like%&txt_name&%rs.open sqlstr,Conn,1,1%,12.2.2 右外连接RIGHT OUTER JOIN,基本的参考程序代码如下。Then txt_name=Trim(Requ

12、est(txt_name),Set rs=Server.CreateObject(ADODB.Recordset)sqlstr=select a.UserName,b.BookName,b.Datetm from UserInfo as a right outer join SellSheet as b on a.UserID=b.User ID where b.BookName like%&txt_name&%rs.open sqlstr,Conn,1,1%,四、任务实施,步骤1创建ASP网页,图11-2-2 新建ASP网页,步骤2建立两个数据库表,图12-2-3 数据库表a,图12-2-4

13、 数据库表b,步骤3输入代码%dim connSet conn=Server.CreateObject(ADODB.connection)sql=Driver=Microsoft Access Driver(*.mdb);DBQ=&Server.MapPath(database/db_database.mdb),conn.open(sql)%set rs=Server.createobject(ADODB.Recordset)sqlstr=select*from a left join b on a.aid=b.bid,rs.open sqlstr,conn while not rs.eof%

14、左外连接LEFT OUTER JOIN%,rs.movenextwend rs.close conn.close set conn=nothing%,图12-2-5 网页代码,步骤4测试代码,图11-2-6 运行结果,12.3 任务三使用分页技术,一、任务描述 ASP使用分页技术的作用,显示指定行记录,在记录集较多的时候,一般都会用到分页技术,特别是在大型的网站上面,尤为常用,分页技术的显示效果如图12-3-1所示。,图12-3-1 分页技术最终效果,二、任务分析,在动态网页读取数据库中的记录时,有些记录的总数有可能有上百条、上千条,甚至是上万条,这对于一个页面的显示带来了很多不方便的地方。而

15、pagesize这个属性,通过相关的技术编程,可以实现记录的分页功能。,三、知识准备,12.3.1 ASP分布技术代码解析1连接数据库 基本的参考代码如下所示。,%Set conn=Server.CreateObject(Adodb.Connection)connstr=PRovider=Microsoft.JET.OLEDB.4.0;Data Source=&Server.MapPath(data.mdb)conn.open connstr,Set rs=Server.CreateObject(Adodb.Recordset)sql=Select*from infors.open sql,c

16、onn,1,1%,2创建分页,基本参考代码如下。%rs.pagesize=4curpage=Request.QueryString(curpage),if curpage=then curpage=1rs.absolutepage=curpage%,3分页记录循环,以下为基本参考代码。%for i=1 to rs.pagesizeif rs.eof thenexit for,end if%,4分页链接,如下代码所示。当前第 页,共有 页,共有:条记录以下代码显示了基本的参考内容。,首页。首页,上一页。上一页,下一页。下一页,尾页。尾页,12.3.2 建立Access数据库,1创建数据库,图12

17、-3-2 Access数据库软件,2保存名称,图12-3-3 保存数据库表,3设计字段名称和数据类型,图12-3-4 数据库表设计字段和数据类型,4输入数据,图12-3-5 输入相应数据,四、任务实施,步骤1新建Adobe Dreamweaver 页面,图12-3-6 新建ASP网页,步骤2输入代码%Set conn=Server.CreateObject(ADODB.Connection)strcon=provider=microsoft.jet.oledb.4.0;data source=&_,server.mappath(mdb.mdb)conn.Open strconSet rs=Se

18、rver.CreateObject(ADODB.Recordset)sql=select*from table order by id descrs.Open sql,conn,1,page=1 设置变量PAGE=1rs.PageSize=4 每页显示记录数if Not IsEmpty(Request(Page)then 如果PAGE已经初始化.Page=CInt(Request(Page)接收PAGE并化为数字型赋给PAGE变量 if Page rs.PageCount then 如果接收的页数大于总页数,rs.AbsolutePage=rs.PageCount 设置当前显示页等于最后页 elseif Page=0 then 如果page小于等于0 Page=1 设置PAGE等于第一页 else,rs.AbsolutePage=Page 如果大于零,显示当前页等于接收的页数 end ifEnd ifPage=rs.AbsolutePage For i=1 to rs.PageSizeif rs.EOF then Exit For,end if 利用for next 循环依次读出记录%,1 then%首页 上一页,rs.pagecount then%下一页 尾页,图12-3-7 网页代码,步骤3测试代码,图12-3-8 运行结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号