写写关于SQL Server数据库的简单使用过程的教程,也算一个小总结!记录一些常用的方法,关键字,单词等,供以后查阅用!同时希望对大家的学习有一定帮助!不要忘了就好。
学习本教程需要:了解SQL语句和基本语法;了解SQL Server查询分析器的作用,会初步使用;熟悉ASP。
本教程设及到:使用SQL Server查询分析器创建数据库;SQL查询语句常用的一些属性值;触发器创建和使用;存储过程的创建,ASP使用存储过程。
正文开始:
一、创建一个数据库
打开SQL SERVER查询分析器,创建一个feedback数据库,该数据库的主数据文件的逻辑名称是feedback,操作系统文件是feedback.mdf,大小是15MB,最大是30MB,以20%的速度增加;该数据库的日志文件的逻辑名称是feedback_log,操作系统文件是feedback.ldf,大小是3MB,最大是10MB,以1MB的速度增加。
Create Database feedback --创建数据库feedback
On {语法错误?}
Primary (
Name=feedback,
Filename='d:\feedback.mdf',
Size=15MB,
Maxsize=30MB,
Filegrowth=20%)
Log On
(Name=feedback_log,
Filename='d:\feedback.ldf',
Size=3MB,
Maxsize=10MB,
FileGrowth=1MB)
USE feedback
二、创建两个表,一个用来作留言,一个作留言的回复!
1、创建第一个表:Feedback存放留言的记录!
Drop Table Feedback
GO
Create Table Feedback --创建表FeedBack
(
--字段Feedback_ID ,主关键字,自动累加,初值为1,自动加1,不能为空--逗号可不加
)
2、插入一条新记录,并显示出来
Insert into Feedback
(Title,Content)
values
('here is Title','This is a test')
GO
select * from Feedback
3、创建第二表:subFeedback存放留言的回复
Create Table subFeedback
(
)
三、创建两个触发器
1、第一个触发器(级联删除触发器):当删除Feedback表中的记录时,自动删除subFeedback中外键对应相同的所有记录 Create Trigger Trigger_delete_Feedback
ON Feedback
--在表feedback上建触发器Trigger_delete_Feedback
Instead OF
--INSTEAD OF
操作(INSERT、 UPDATE、 DELETE),而仅是执行触发器本身
--或者说发生Delete事件时执行,该触发器AS后语名会替换过delete语句的执行
AS
Delete From subFeedback where Feedback_ID in(select Feedback_ID from deleted)
--删除表subFeedback外键与删除feedback主键相同的值
Delete From Feedback where Feedback_ID in(select Feedback_ID from deleted)
2、第二个触发器:当subFeedback有新增记录时,Feedback.subFeedback_count字段记数增加! Create Trigger Trigger_update_subFeedback
ON subFeedback
For insert
--注间和Instead OF的区别,For是当insert语句执行完后再执行解发器AS后的语句
AS
update Feedback set subFeedback_count=subFeedback_count+1 where Feedback_ID in(select Feedback_ID from inserted)
四、建立两个存储过程用来保存增加的Feedback和subFeedback记录
Create Procedure proc_insert_Feedback --创建存储过程proc_insert_Feedback
@Title nvarChar(256),@Content text
AS
Insert into Feedback (Title,Content) values(@Title,@Content) --执行语句
GO
Create Procedure proc_insert_subFeedback
@Feedback_ID int,@Content text
AS
Insert into subFeedback (Feedback_ID,Content) values(@Feedback_ID,@Content)
五、建立asp文件,完成留言板制作!
1、创建conn.asp文件,与数据库连接。 <%
dim conn
set conn=Server.createobject("ADODB.CONNECTION")
conn.open="Provider=SQLOLEDB; Data Source=127.0.0.1;" & _
"Initial Catalog=Feedback; User ID=sa; password=sa;"
'打开连接。换成你的server-IP(如果也是本机不用修改),数据库用户名,密码!
%>
2、创建List.asp显示留言,内容。这里我把增加的 Form
<%
SQL="select * from Feedback"
Set rs=Server.CreateObject("ADODB.Recordset")
rs.open SQL,conn,1,3
if not rs.eof then
'建立回复留言的链接,并把要回复的留言的记录Feedback_ID和Title传给Feedback.asp
'Feedback用来标志是回复了哪条记录,增加数据库用!Title用来显示回复的哪条记录,给回复者看
response.write output
else
response.write "无记录!"
end if
rs.close
set rs=nothing
%>
<script>
function chkform(){
//这个函数用来判断输入是否为空
//当然这里的判断还远远不够,比仿说还要判断字符的多少,是否有非法字符等
if (document.add.title.value==""|| document.add.content.value==""){
alert("标题或内容不能为空,请输入!");
return;
}
document.add.action="add.asp";
document.add.submit;
}
</script>
<form name="add" method="post" action="javascript:chkfrom();">
标题<input type=text size="50" name=title><br>
内容<textarea name="content" cols="50" rows="8"></textarea><br>
<input type="hidden" value="Feedback" name="table">
<!--上面是一个隐藏域,传递一个名为table,值为Feedback变量,让add.asp知道是编辑的Feedback表-->
<input type="submit" name=submit value="
</form>
3、创建Feedback.asp文件,用来填写留言的回复! 回复:<%=request("title")%>
<form name="add" method="post" action="add.asp">
内容<textarea name="content" cols="50" rows="8"></textarea><br>
<input type="hidden" name="table" value="subFeedback">
<input type="hidden" name="Feedback_ID" value='<%=request.QueryString("Feedback_ID")%>'>
<input type="submit" name=submit value="
</form>
4、创建add.asp文件,用来分别保存时Feedback,subFeedback的两个表的增加记录!这里请注意ASP调用SQL SERVER的存储过程的方法,会让程序变的很简洁! <!--#include file="conn.asp"-->
<%
table=request.form("table")
if table="Feedback" then
elseif table="subFeedback" then
end if
response.redirect("List.asp")
%>
下载这四个ASP文件。
六、总结
好了,到这里这个简单的留言板就做完了。当然里面还有很多要改进的地方,比仿说列表页要分页。回复的内容太长的话,回复递进的效果就不明显。没有过滤html代码javascript代码。没有管理后台等等。不过如果你能做出这个留言板,只要再增强一下功能和安全,做出一个像样的留言板那应该是没问题的。