。
2.创建表News
创建表News的脚本文件为News.sql,它的代码如下:
USE news
GO
CREATE TABLE News
(
Id Int IDENTITY PRIMARY KEY,
Title Varchar(100) NOT NULL,
Content Text,
PostTime Datetime,
Poster Varchar(50),
CateId Int,
Attpic Int DEFAULT 0,
ReadCount Int DEFAULT 0
)
GO
在使用CREATE TABLE指令创建表时,应该注意使用NOT NULL关键字定义表的未空字段。使用NOT NULL定义的字段将不允许为空,这样就可以避免表中出现无效的数据,影响系统运行。例如,表News中的Title字段将不能为空,否则在新闻
列表中将出现一个空行。
在使用CREATE TABLE指令创建表时,使用DEFAULT关键字可以字义字段的默认值,例如表News中,Attpic和ReadCount字段的默认值为0。
3.创建表Discuss
创建表Discuss的脚本文件为Discuss.sql,它的代码如下:
USE news
GO
CREATE TABLE Discuss
(
Id Int IDENTITY PRIMARY KEY,
UserId Varchar(20),
Posttime Smalldatetime,
Content Varchar(4000),
NewsId Int
)
GO
在使用CREATE TABLE指令创建表时,通常可以使用IDENTITY关键字与PRIMARY KEY关键字相结合,创建标识字段。每次增加新记录时,标识字段自动递增。程序员在编写程序的过程申,无需考虑标识字段的值。
4.创建表Users
创建表Users的脚本文件为Users.sql,它的代码如下:
USE news
GO
CREATE TABLE Users
( UserId Int Primary Key IDENTITY,
UserName Varchar(50) NOT NULL,
UserPwd Varchar(50) NOT NULL,
Ename Varchar(50),
Email Varchar(50)
)
GO
INSERT INTO Users (UserName, UserPwd, Ename, Email) VALUES('Admin', '111111', '', '')
GO
在创建表users的同时,将默认的用户Admin插入到表中,默认的密码为"llllll"。
在执行这些脚本之前,请确定数据库news已经存在,否则会产生错误。如果要创建的表已经存在,则需要先将表删除。
第四章 目录结构与通用模块
第一节 目录结构
在运行实例时,需要将web目录复制到IIS/PWS的根目录下,例如
目录下包含下面两个子目录:
images用于存储上传的新闻图片;
pic用于存储网页中的图片文件;
其他ASP和HTM文件都保存在web目录下。
第二节 通用模块
本实例中包含一些通用模块,这些模块以文件的形式保存,可以在其他文件中使用#include语句包含这些模块,使用其中定义的功能。
1.ConnDB.asp
ConnDB.asp的功能是实现到数据库的连接,因为在很多网页中都有连接数据库的操作,所以把它保存在文件ConnDB.asp中,这样可以避免重复编程。ConnDB.asp的代码如下:
<%
dim Conn
dim ConnStr
set Conn=server.createobject("adodb.connection")ConnStr="driver={SQL Server};server=(local);UID=sa;PWD=yourpassword;Database=news"
Conn.Open ConnStr
%>
在文件中引用此文件作为头文件就可以访问数据库,代码如下:
2.IsAdmin.asp
因为本实例中有些功能只有Admin用户才有权限使用,所以在进入这些网页之前,需要判断用户是否是Admin。IsAdmin.asp的功能是判断当前用户是否是Admin,如果不是,则中断执行;如果是,则不执行任何操作,直接进入包含它的网页。
IsAdmin.asp的代码如下:
<%
If Session("UserName") <> "Admin" Then
Response.Write("不是Admin用户,没有此权限")
Response.End