●试题三
以下是ASP与数据库应用的典型例子,阅读后请补充 (1) ~ (5) 空缺的内容。
一个真正的、完整的站点是离不开数据库的,因为实际应用中,需要保存的数据很多,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便地进行查询和更新。数据库有很多种,如Fox数据库(.dbf)、Access数据库(.mdb)、Informix、Oracle和SQL Server等等,在这里,以Microsoft Access数据库为例来说明ASP是如何访问数据库的。
常用数据库语句如下所示:
1.SELECT语句:命令数据库引擎从数据库里返回信息,作为一组记录。
2.INSERT INTO 语句:添加一个或多个记录至一个表。
3.UPDATE 语句:创建更新查询来改变基于特定准则的指定表中的字段值。
4.DELETE 语句:创建一个删除查询把记录从FROM子句列出并符合WHERE子句的一个或更多的表中清除。
5.EXECUTE 语句:用于激活PROCEDURE(过程)
用ASP来做一个通讯录:
1.建立数据库
用Microsoft Access 建立一个名为datA.mdb的空数据库,使用设计器创建一个新表。
输入以下几个字段,见表1。
表1data mdb的字段和属性
字段名称
数据类型
说 明
其 他
ID
自动编号
数据标识
字段大小:长整型新值:递增索引:有(无重复)
username
文本
姓名
缺省值
usermail
文本
缺省值
View
数字
查看次数
字段大小:长整型默认值:0索引:无
Indate
时间日期
加入时间
缺省值
保存为datA.mdb文件
2.连接数据库
Set conn= (1)
conn.Open"driver={Microsoft Access Driver.mdb)};dbq="&Server.MapPath("datA.mdb")
注意:一个页面中,只要连接一次就可以了,数据库使用完后要及时关闭连接。
conn.Close
Ser conn=Nothing
3.添加新记录到数据库
Set conn=Server.CreateObject("ADOD
B.Connection")
conn.Open"driver={Microsoft Access Driver(.mdb};dbq="&Server.MapPath("datA.mdb")
username="程序员"
usermail="xj@163.com"
indate=Now()
sql="insert into data(username,usermail,indata)values("&username&","&usermail&","&indate&")"
(2)
conn.Close
Set conn=Nothing
4.选择数据库里的记录
1)选择所有记录的字段(按记录倒序排序): (3) 。
2)选择所有记录的姓名和Email字段(不排序):sql= "select username,usermail from data"。
3)选择姓名为“程序员”的所有记录: (4) 。
4)选择使用163信箱的所有记录(按查看次数排序):sql="selectfrom data where usermail like%"@163.com"%order by view desc"。
5)选择最新的10个记录:sql="select top 10from data order by ID desc"。
SQL语句已经知道了,不过在Web应用时,还得创建一个RecordSet对象得到记录集,才能把从数据库里取出的值应用在网页上,如果现在将所有的记录显示在网页上就使用如下代码:
Set conn=Server.CreateObject("ADOD
B.Connection")
conn.Open"driver={Microsoft Access Driver(*.mdb)};dbq="&Server.MapPath("datA.mdb")
sql="select*from data"
Set rs=Server.CreateObject("ADOD
B.RecordSet")
rs.Open sql,conn,1,1
Do While Not rs.Eof
Response.Write"<p>姓名:"& rs("username")&"E-maih:"& rs("usermail")&"查看:"& rs("view")&"次"& rs("indate")&"加入</p>"
rs.MoveNext
Loop
rs.Close
Set rs=Nothing
conn.Close
Set conn=Nothing
说明:建立数据库连接;创建rs得到记录集;循环显示记录,rs.Eof表示记录末,rs.MoveNext表示移到下一个记录;最后关闭。
5.修改(更新)数据库记录
修改记录的Email:
Set conn=Server.CreateObject("ADOD
B.Connection")
cons.Open"driver={Microsoft Access Driver(*.mdb)};dbq="&Server.MapPath("datA.mdb")
ID=1
usermail="xj@163.com"
sql="update data set usermail="&usermail&"where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn=Nothing
说明:建立数据库连接;获取记录ID、新Email字符串;使用update语句修改记录;conn.Execute来执行;最后关闭。如果使记录的查看值加1,则sql="update data set view=view+1 where ID="&CInt(ID)
6.删除数据库记录
删除某一条记录:
Set conn=Server.CreateObject("ADOD
b.Connection")
conn.Open"driver={Microsoft Access Driver(*.mdb)};dbq="&Server.MapPath("datA.mdb")
ID=1
sql= (5)
conn.Execute(sql)
conn.Close
Set conn=Nothing