RSS
热门关键字:  cms  下载  模版  开源  dedecms
当前位置 :| 主页>站长学院>数据库>Mysql>

《网络神采4》技术大揭密之:DedeCMS存储过程

来源:神采论坛 作者:oldhunter 时间:2007-05-06 点击:
一、相关介绍

1、什么是《网络神采》?
网络神采》是一款通用的、速度最快的网络信息采集软件。(查看详细介绍

2、什么是“存储过程”?
存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。《
网络神采》通过调用存储过程,对CMS(内容管理系统)、论坛等进行采集结果入库。

3、什么是“DedeCMS”?
“DedeCMS”是一款主流的网站内容管理系统。(
查看详细介绍

二、添加文章的存储过程

DROP PROCEDURE IF EXISTS AddArchives;
CREATE PROCEDURE AddArchives($typeid int, $adminID int, $writer varchar(30), $soruce varchar(50), $title varchar(80), $body mediumtext)
BEGIN
IF $adminID IS NULL THEN
  SELECT MIN(id) INTO $adminID FROM dede_admin;
END IF;
IF $writer IS NULL THEN
  SET $writer = '';
END IF;
IF $soruce IS NULL THEN
  SET $soruce = '';
END IF;


INSERT INTO dede_archives (typeid, adminID, writer, source, title, pubdate, senddate) VALUES ($typeid, $adminID, $writer, $soruce, $title, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
INSERT INTO dede_addonarticle (typeid, aid, body) VALUES ($typeid, last_insert_id(), $body);
END;


上面的代码创建一个名为AddArchives的存储过程,用来添加文章。
参数列表:

1、$typeid
栏目ID,表示将要添加到的栏目。需要手动指定一个栏目ID(参见下文“存储过程调用”)。


2、$adminID
管理员ID,添加时使用的管理员ID。需要手动指定一个管理员ID(参见下文“存储过程调用”)。如果不指定,将默认使用一个最小的管理员ID。

3、$writer
文章作者,指采集到的文章作者。如果未采集,将默认为空。


4、$soruce
文章来源,如果未指定,将默认为空。


5、$title
文章标题,指采集到的文章标题。标题是必须的,为空时记录将不能入库。

6、$body
文章内容,指采集到的文章
内容。内容是必须的,为空时记录将不能入库。

三、添加软件的存储过程

DROP PROCEDURE IF EXISTS AddSoft;
CREATE PROCEDURE AddSoft($channel int, $typeid int, $adminID int, $writer varchar(30), $soruce varchar(50), $title varchar(80), $language varchar(10), $softtype varchar(10), $os varchar(30), $accredit varchar(10), $softsize varchar(10), $officialUrl varchar(30), $officialDemo varchar(50), $softlinks text, $introduce text)
BEGIN
IF $adminID IS NULL THEN
  SELECT MIN(id) INTO $adminID FROM dede_admin;
END IF;
IF $writer IS NULL THEN
  SET $writer = '';
END IF;
IF $soruce IS NULL THEN
  SET $soruce = '';
END IF;
IF $officialUrl IS NULL THEN
  SET $officialUrl = '';
END IF;
IF $officialDemo IS NULL THEN
  SET $officialDemo = '';
END IF;

IF $introduce IS NULL THEN
  SET $introduce = '';
END IF;


INSERT INTO dede_archives (channel, typeid, adminID, writer, source, title, pubdate, senddate) VALUES ($channel, $typeid, $adminID, $writer, $soruce, $title, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
INSERT INTO dede_addonsoft (typeid, aid, language, softtype, os, accredit, softsize, officialUrl,  officialDemo, softlinks, introduce) VALUES ($typeid, last_insert_id(), $language, $softtype, $os, $accredit, $softsize, $officialUrl, $officialDemo, $softlinks, $introduce);
END;


上面的代码创建一个名为AddSoft的存储过程,用来添加回复。参数列表:


1、$channel
频道ID,表示将要添加到的频道。需要手动指定一个频道ID(参见下文“存储过程调用”)。


2、$typeid
栏目ID,表示将要添加到的栏目。需要手动指定一个栏目ID(参见下文“存储过程调用”)。

3、$adminID
管理员ID,添加时使用的管理员ID。需要手动指定一个管理员ID(参见下文“存储过程调用”)。如果不指定,将默认使用一个最小的管理员ID。

4、$writer
软件作者,指采集到的软件作者。如果未采集,将默认为空。


5、$soruce
软件来源,如果未指定,将默认为空。


6、$title
软件名称,指采集到的软件名称。名称是必须的,为空时记录将不能入库。

7、$language
界面语言,
必须。


8、$softtype
软件类型,必须。

9、$os
运行环境,必须。

10、$accredit
授权方式,必须。


11、$softsize
软件大小,必须。

12、$officialUrl
官方网址,可选。

13、$officialDemo
演示网址,可选。

14、$softlinks
软件链接列表,必须。
链接列表是指在一个字段中保存了多个下载地址,DedeCMS的链接列表格式为:

{dede:link text='本地下载1'} http://www.aaa.com/down/file.rar {/dede:link}
{dede:link text='本地下载2'} http://www.bbb.com/down/file.rar {/dede:link}


因此,采集时必须将带有链接的采集结果替换成上面的格式。(参见软件帮助中的“采集结果替换”)

13、$introduce
软件介绍,可选。

四、存储过程的安装与调用

请参见:
《网络神采4》技术揭密之:存储过程的应用

五、相关主题

《网络神采4》技术揭密之:存储过程的应用

神采软件工作室
http://www.sensite.cn
上一篇:分表处理设计思想和实现
下一篇:没有了
最新评论共有 17 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表