asp学生论坛bbs设计毕业论文(开题报告+源代码) 第16页
If Trim(searchday)<>"" Then
Mybbs.Stats = Mybbs.Stats & Replace(template.Strings(5),"{$searchday}",
request("SearchDate"))
Else
Mybbs.Stats = Mybbs.Stats & template.Strings(6)
End If
Select Case stype
Case 1 ‘省略部分
Case 2
Select Case pSearch
Case 1 '标题
SqlColumn = SqlColumn & " dv_Topic Where "&searchboard&" "&searchday&"
Title like '%"&keyword&"%' Order By TopicID Desc"
Mybbs.Stats = Mybbs.Stats & template.Strings(10)
Case 2 '内容,SQL全文索引
If Mybbs.Forum_Setting(16)<>"0" Then
If IsSqlDataBase Then
If Trim(searchboard)="" And Trim(searchday)="" Then
SqlColumn = SqlColumn & stable & " T1 Inner Join ContainsTable("&stable&",
body,'" & keyword & "'," & Mybbs.Forum_Setting(11)*SearchMaxPageList & ")
As T2 ON T1.AnnounceID = T2.[KEY] Order By T1.AnnounceID Desc"
ElseIf Trim(searchboard)="" Then
SqlColumn = SqlColumn & stable & " T1 Inner Join ContainsTable("&stable&",
body,'" & keyword & "'," & Mybbs.Forum_Setting(11)*SearchMaxPageList & ")
As T2 ON T1.AnnounceID = T2.[KEY] Where "&Replace(Replace(searchday,
"and",""),"DateAndTime","T1.DateAndTime")&" Order By T1.AnnounceID
Desc"
ElseIf Trim(searchday)="" Then
SqlColumn = SqlColumn & stable & " T1 Inner Join ContainsTable("&stable&",
body,'" & keyword & "'," & Mybbs.Forum_Setting(11)*SearchMaxPageList & ")
As T2 ON T1.AnnounceID = T2.[KEY] Where "&Replace(Replace(searchboard,
"and",""),"BoardID","T1.BoardID")&" Order By T1.AnnounceID Desc"
Else
SqlColumn = SqlColumn & stable & " T1 Inner Join ContainsTable("&stable&",
body,'" & keyword & "'," & Mybbs.Forum_Setting(11)*SearchMaxPageList & ")
As T2 ON T1.AnnounceID = T2.[KEY] Where "&Replace(searchboard,
"BoardID","T1.BoardID")&" "&Replace(Replace(searchday,"and",""),
"DateAndTime","T1.DateAndTime")&" Order By T1.AnnounceID Desc"
End If
Else
SqlColumn = SqlColumn & stable & " Where "&searchboard&" "&searchday&"
body like '%"&keyword&"%' Order By AnnounceID Desc"
End If
Mybbs.Stats = Mybbs.Stats & template.Strings(11)
Else
Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(19)&"&action=
OtherErr"
End If
End Select
程序里基本上都是在使用SELECT语句,在程序的第二行的代码是<% SqlColumn = "Select Top " & Cint(Mybbs.Forum_Setting(11))*SearchMaxPageList %>就有Select。这里的Select除了一般的语法外还用到了一些统计上的函数。使用语法如下。
Select 函数(栏位名称) From 表名 where 表达式
Select比较重要的函数有日期函数DateADD()和字符型函数CHAR()、REPLACE()、CAST()和CONVERT()。
在帖子搜索完成后,将搜索所取得的主题要形成一个帖子浏览列表,这部分和帖子的显示与浏览模块是基本上相同的,只是取出了需要帖子的ID重新生成一个ID序列。
4.4 管理人员模块
管理人员模块实际上其实是多个模块的组合,模块的功能都实现了的话,这里只是对这些功能进行限制。
4.4.1 系统参数设置
系统参数设置是后台设置,界面见图4-2。
图4-2 系统设置页面
在系统参数设置里对许多东西都进行了设置,这些东西都是网站必须的和公用的东西。如果不在这里储存,就要在每个页面都写出这些信息,如果一旦其中的某个需要修改,就要把所有的页面都修改一遍,这样工作量就会很大。现在把它们提取出来写,当需要时很容易地就能从数据库中取出来显示在页面上,如果出现变化,就很方便地可以修改了。系统参数程序基本上和用户注册修改信息部分是差不多的,从数据表从读出数据显示在表单,在修改后又把更新后的表单数据提交给数据库更新。
4.4.2 用户授权
用户授权也是在后台进行的,授权的方式是设置好论坛等级,对于不同的论坛等级设置不同的权限字段,然后授权只需要授予用户相应的论坛等级,如版主、超级版主等就可以达到授权的目的。基本上只牵涉到用户表某些字段的操作与系统参数设置。
用户授权的主要目的就是让用户参与到论坛中来,同时也减少管理员的负担,让论坛显得更加规范。
4.4.3 数据库的备份与还原
数据库对于一个论坛来说是至关重要的,当论坛运行一段时间后,某些关键数据如果不小心删除了,或者数据库出现了异常错误数据被破坏,如果有数据库的备份就能很好的恢复了。所以这是论坛日常管理中最重要也是最不可缺少的一部分,其他的参数设置设置好后一般都不会有太多更改,但是数据库的备份却要定期的执行一次。
Access数据库的备份与还原如程序4-11。
程序4-11 数据库备份程序(admindata.asp)
Dim fso, Engine, strDBPath,JET_3X
strDBPath = left(dbPath,instrrev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(dbPath) Then
fso.CopyFile dbpath,strDBPath & "temp.mdb"
Set Engine = CreateObject("JRO.JetEngine")
If boolIs97 = "True" Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath
& "temp.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb;" _
& "Jet OLEDB:Engine Type=" & JET_3X
Else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath
& "temp.mdb"
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb"
End If
fso.CopyFile strDBPath & "temp1.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
fso.DeleteFile(strDBPath & "temp1.mdb")
Set fso = nothing
Set Engine = nothing
这里用到了在处理文件上的重要的对象——FSO,也就是FileSystemObject对象,其作用是提供对计算机文件系统的访问。
Scripting. FileSystemObject
以下代码说明了如何使用FileSystemObject对象返回一个TextStream对象,此对象可以被读取或写入。
Set fs=CreatObject(“Scripting. FileSystemObject”)
Set a=fs.CreateTextFile(“e:\testfile.txt”,True)
a.WriteLine(“This is a test”)
a.Close
CreateObject函数返回FileSystemObject对象(fs)。使用CreateTextFile方法创建一个文件,作为TextStream对象(a),然后使用WriteLine方法在此文件中写入一行文本。最后使用Close方法刷新缓冲区并关闭文件。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] 下一页