一直以来,觉得留言本是很简单的,昨天开始做第一个留言本,还真有些细节需要特别注意。
现在简单的功能已经基本实现。
现在简单的功能已经基本实现。
任何人可以留言(好象是废话,要不怎么叫留言本?呵呵)
管理员可以删除留言、回复留言。
总的感觉来说,很大的问题还是存于数据库方面。
用到的表:1 gbook 用来存放留言人、标题、留言内容等
这个是主要用到的表,为了使管理员删除记录后,再留言留言时id重新更新,也就是依次前提。加了一个函数(功能获得最大id):
create
function
f_getid()
returns
int
as
begin
declare
@id
int
select
@id
=
max
(id)
from
gbook
set
@id
=
isnull
(@id,
0
)
+
1
return
(@id)
end
建立表,此表的id不使用identity
CREATE
TABLE
[
dbo
]
.
[
gbook
]
(
[
id
]
int
default
dbo.f_getid()
primary
key
,
[
uname
]
[
varchar
]
(
20
),
[
utitle
]
[
varchar
]
(
50
) ,
[
ubody
]
[
text
]
,
[
udate
]
[
datetime
]
)
GO
这个是主要用到的表,为了使管理员删除记录后,再留言留言时id重新更新,也就是依次前提。加了一个函数(功能获得最大id):
create
function
f_getid()
returns
int
as
begin
declare
@id
int
select
@id
=
max
(id)
from
gbook
set
@id
=
isnull
(@id,
0
)
+
1
return
(@id)
end
建立表,此表的id不使用identity
CREATE
TABLE
[
dbo
]
.
[
gbook
]
(
[
id
]
int
default
dbo.f_getid()
primary
key
,
[
uname
]
[
varchar
]
(
20
),
[
utitle
]
[
varchar
]
(
50
) ,
[
ubody
]
[
text
]
,
[
udate
]
[
datetime
]
)
GO
还要建立一个触发器,目的就是,当删除记录再增加留言时,id重新更新:
create
trigger
t_delete
on
gbook
AFTER
delete
as
declare
@id
int
,@mid
int
select
@mid
=
min
(id),@id
=
@mid
-
1
from
deleted
update
gbook
set
id
=
@id,@id
=
@id
+
1
where
id
>
@mid
go
2 guest表, 用来存放管理员的信息
create
trigger
t_delete
on
gbook
AFTER
delete
as
declare
@id
int
,@mid
int
select
@mid
=
min
(id),@id
=
@mid
-
1
from
deleted
update
gbook
set
id
=
@id,@id
=
@id
+
1
where
id
>
@mid
go
2 guest表, 用来存放管理员的信息
这个表没什么特殊的,只是存放管理员的信息
3 answer 表,存放的是"回复"的内容
这个表的建立要注意:因为删除gbook表的记录时需要把次表中相同的记录删除,并也要更新!
CREATE
TABLE
[
answer
]
(
[
id
]
[
int
]
references
[
dbo
]
.
[
gbook
]
(
[
id
]
)
on
update
cascade
on
delete
cascade
,
[
answer_body
]
[
text
]
,
[
answer_date
]
[
datetime
]
)
CREATE
TABLE
[
answer
]
(
[
id
]
[
int
]
references
[
dbo
]
.
[
gbook
]
(
[
id
]
)
on
update
cascade
on
delete
cascade
,
[
answer_body
]
[
text
]
,
[
answer_date
]
[
datetime
]
)
--- 前台asp.net+c# 开发:
主要是三个aspx页面,代码不写了,简单说下关系:
1 submit.aspx 这个是用户写留言的地方,提交后会存放至gbook表中。
2 show.aspx 这个是查看留言的页面,用到了DataGrid,模板列等。
3 answer.aspx,这个是管理员用来回复留言的,通过的是gbook表中的id.
主要页面截图:
传上后那么小,看都看不清楚,放到象册里
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有

被折叠的 条评论
为什么被折叠?



