5.3 引入发布新闻数据
为了能够了解新闻发布系统中的有关信息,必须将所发布的新闻内容数据从数据库中提取出来,供使用者方便查询和修改原有信息或添加新的信息记录。所需的原代码如下所示:
set conn=server.createObject("ADODB.Connection")
dbpath=server.mappath("news.mdb")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
使用CONNECTION的OPEN方法连接到指定的数据库
set rs=server.createobject("adodb.recordset")
sqltext="Select * from news where newsid="&request("newsid")
rs.open sqltext,conn,adOpenkeyset,adlockoptimistic,adcmdtext
使用RECORDSET对象的OPEN方法将查询字符串传递给CONNECTION对象指定的数据库news.mdb。
skipid=request("newsid")
a=trim(rs("key1"))
b=trim(rs("key1"))
c=trim(rs("lookfrom"))
d=trim(rs("reporter"))
5.4系统主页面
图5.2 新闻发布系统主页面
完成了数据库的设计工作后,紧接着必须制作一个新闻发布系统的页面,让使用者可以通过页面的操作直接上网发布新闻。同前面所说的发布系统一样,先利用FrontPage网页设计一个对应所需字段的窗口页面,如图5.2所示,为新闻发布系统的主页面,从该页面可以看出,可以通过若干新闻类别查询娱乐,体育,军事,科技,游戏,房产,教育,财经,笑话,天气,旅游等相关的信息,或者在其中添加有关相应信息。如下的源代码显示相关的各种新闻信息:
<td width="260"><a href="default.asp">首页</a>【本站导航】 新闻</td>
<td width="40">◆<a href="more.asp?class='A'">娱乐</a> </td>
<td width="40">◆<a href="more.asp?class='B'">游戏</a></td>
<td width="40">◆<a href="more.asp?class='C'">体育</a></td>
<td width="40">◆<a href="more.asp?class='D'">军事</a></td>
5.5 显示每条新闻的相关新闻
图5.3 显示每条新闻的相关新闻
在查找到相应所需的新闻记录后,同样可以查看此类别下的其他相关信息,如图5.3所示,在查看了娱乐内容的信息后,里面还有一条标题为sd的记录,在查看完标题为dfs的记录后,可以进入sd的信息中查看,相应的原代码显示如下:
set rs=nothing
set rs=server.createobject("adodb.recordset")
sqltext="select newsid,title,newsdate from news where key1+key2 like '%"&a&"%' and key1+key2 like '%"&b&"%'"
rs.open sqltext,conn,adOpenkeyset,adlockoptimistic,adcmdtext
if not(rs.bof and rs.eof) then%>
5.6 在任意字段位置添加新闻信息
图5.4 添加新闻信息
为了更好的管理大量的数据信息,需要向数据库中添加每天及时更新的新闻信息,如图5.4所示,通过类别,标题,关键字,作者等字段来表示新添入的新闻信息,点击新闻提交后,如显示成功,则信息已被添加,否则就是类别未选择或标题未填写等提交失败信息,如下图5.5所示为成功的显示页面,代码显示为提示信息。
图5.5 显示成功页面
<!--
alert("提交成功!");
window.location.href="ad.asp";
//-->
if(yjform.leibie.options[yjform.leibie.selectedIndex].value=='Z')
{
alert("请选择类别!");
yjform.leibie.focus();
return false;
}
if(yjform.b