|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。 关于论坛大概留言板,完成起来有一样平常两种办法:用文件大概数据库。绝对而言,用数据库要复杂高效一些,可以对论坛举行更好的把持,也可以对数据供应一些考证和回护。
这儿利用的是ACCESS数据库,关于一样平常的中小型的使用,ACCESS应当是可以胜任的。
从下面的剖析能够晓得应当有四个表,上面我给出每一个表的布局。
作者表(寄存作者信息):
ID:文本范例,必填。是网友代号。
暗码:文本范例,必填。
昵称:文本范例,必填。
EMAIL:文本范例,必填。
职务:数字范例,必填。-1代表一般网友,0代表站长。年夜于0的数字代表斑竹,而且号码是响应的看板表中某个板的ID,暗示是谁人板的斑竹。
文章数:数字范例,必填。网友宣布的文章总数。
姓名:文本范例,可选。
性别:文本范例,可选。
德律风:文本范例,可选。
内容表(寄存详细文章内容和相干信息):
ID:主动编号,并为其设置索引,以加速搜刮的速率。
看板ID:数字范例,来自看板列表,暗示文章所属看板。
主题ID:数字范例,来自立题表,暗示文章所属主题。
作者ID:文本范例,来自作者表,暗示文章的作者。
日期:日期/工夫范例,预置初值为函数NOW(),体系在增加这一条字段时,将主动取体系以后工夫为其值。
题目:文本范例。文章的题目。
宣布:是/否范例,为“真”时暗示文章已经由过程审视,能够宣布;为“否”暗示文章尚待审视。
保举度:数字范例,文章的保举水平。
内容:备注范例,文章的详细内容。
点击次数:数字范例,文章的点击次数。
看板列表(寄存有关看板的信息):
ID:主动编号,一样的,也为其设置了索引。
称号:文本范例,看板的称号。
板主:文本范例,看板斑竹的ID。
主题数:数字范例,看板中包括的主题数。
主题表(寄存有关主题的信息):
ID:主动编号,并为其设置索引。
题目:文本范例,暗示主落款。
看板:数字范例,来自看板列表,暗示主题所属的看板。
文章数:数字范例,主题中包括的文章数。
一切的表是计划完了,可是数据库的计划并没有完。我们还必要创建表间干系,如许就可以够让数据库实行一些相干性反省,制止数据堕落。创建表间干系的别的的一个优点,就是经由过程它可以很简单的创立出庞大的JOIN查询。
在下面的表中,能够很简单的看到这些表间干系。从下图中能够看到这些干系是怎样接洽各个表的。
一般我们在ASP中操纵数据库的时分,都是利用的运转时天生的查询,然后由传送给数据库注释实行。而在这儿我们要用的是存贮查询。与运转时查询对照而言,存贮查询具有更多的长处。
它保留在数据库中,自力于ASP代码,使得他更简单创建和修正,而且查询的效力更高,速率更快,能够调试好了今后再放在ASP页面中挪用,能制止良多成绩。并且利用存贮查询的ASP代码加倍简单浏览和修正。大概人人都对在ASP中挪用SQL查询感应很烦,出格是那些逗号啊,分号阿甚么的,一不当心就会堕落。利用存贮查询后,就能够不必挂念这些成绩了。固然,存贮查询再利用上也有一些要注重的中央,在前面我会具体的解说它的利用办法。
在ACCESS中创立存贮查询是一件很简单的事,这儿我就不再多说了。假如确有不晓得的,请参看《利用存贮查询》一文,在这儿我只给出各个查询的SQL语句代码。
我把一切要利用到的查询都作为存贮查询保留在了数据库中,次要的有以下的一些:
安ID查询文章:
SELECT主题表.题目AS主落款,看板列表.称号AS看板名,内容表.*
FROM主题表INNERJOIN(内容表INNERJOIN看板列表ON内容表.看板ID=看板列表.ID)ON主题表.ID=内容表.主题ID
WHERE(((内容表.ID)=[articleid]));
斑竹暗码查询:
SELECT看板列表.板主,作者表.暗码
FROM作者表INNERJOIN看板列表ON作者表.ID=看板列表.板主
WHERE(((看板列表.ID)=[id];
查询
SELECT作者表.*
FROM作者表
WHERE(((作者表.ID)=[id]));
宣布文章列表:
SELECT[内容表].[ID],[内容表].[题目],[内容表].[作者ID]AS作者,[内容表].[日期],[内容表].[保举度],[内容表].[点击次数]AS点击数
FROM内容表
WHERE((([内容表].[主题ID])=[TopicIndex])And(([内容表].[宣布])=True));
未宣布文章列表:
SELECT内容表.IDAS文章id,主题表.IDAS主题id,主题表.题目AS主题,内容表.题目AS题目,内容表.作者IDAS作者,内容表.日期AS日期
FROM主题表INNERJOIN内容表ON主题表.ID=内容表.主题ID
WHERE(((内容表.宣布)=False)AND((内容表.看板ID)=[boardid]));
主题列表:
SELECT主题表.*,看板列表.称号AS看板名
FROM看板列表INNERJOIN主题表ON看板列表.ID=主题表.看板
WHERE(((主题表.看板)=[boardIndex]));
另有一些查询,由于年夜多邻近,我就纷歧一列出了。
在下面的查询语句中,能够看到一些由”[“和“]”包抄起来的器材,那就是查询参数了。必要在运转时给出参数值,然后把参数值带进到查询语句中才干够运转。另有一点要注重的是:在创立那些INNERJOIN查询时,是必要把表间干系增加到计划视图中的,不然是不克不及够主动天生INNERJOIN查询语句的。
到这儿,数据库的计划就算完了,今后的事情就是ASP的事了。
</p>只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 |
|