时间: 2021-07-31 作者:daque
5。版面模块安排 所谓分门别类,更多的是为telnet效劳端商量的,在cq66形式下,用户不妨按 照本人的志愿举行分门别类,归正结果都是径直以版为基础单元考察的。 对于版面作品的考察,寄存的功夫以整篇作品为参数,作品的分块由本层 实行,即使表层以块为单元传递,则在表层十足传完,拉拢后,再传参到本层 领会;在读取 的功夫,本层则以块为单元考察,即使表层要以全文为单元考察 ,则在表层做兼并 处事,本层尽管。 至于要不要独力出索引,不感化表层的操纵,重要和基层的数据库结构有 关, 重要商量可行性,功效需要等。 权力的查看放在何处举行呢?仍旧放在表层吧,本来就telnet效劳器端, 和cq66 的存户端,基础不会给普遍用户表露特出训令的菜单,固然,用户可 以径直发送cq66 的训令,效劳器方仍旧要查看的。但该当不必在它底下的功 能模块层再查看一次吧 。 class boardmanage { private: public: // 相关分门别类的操纵 int getclassnameinfo( int maxclass, char **classid, char ** classname ); 归来分门别类的消息,中英文名。 int getboardname( int maxboards, char *classid, char **boardname ); 归来某分门别类中的版面消息,普遍分门别类,径直select .. from sboard where boardclass == .... 特出分门别类则查相映的表。。。。 // 窜改须要版面处置员之上的特权 int newclass( char * newclassname, int type ); 兴建分门别类,普遍分门别类仍旧特出分门别类, int deleteclass( char *newclassname ); 简略分门别类,但不cascade,即本层不控制普遍性,由表层控制将 相映的版面包车型的士分门别类消息改为其余。分门别类更名也是先删再建, int addclassboard( const char *classname, char *newboardname ); 将已建好的版介入某分门别类中,特意对准特出分门别类,对普遍分门别类,其 功效和modifyboardinfo一律, int deleteclassboard( const char *classname, char *boardname ); 从分门别类中简略某个版,也是对准特出分门别类,对普遍分门别类,功效也 是和modifyboardinfo一律,一个版的分门别类属性不妨为空,即不属 于任何分门别类。 // 相关版的消息的操纵。 int newboard( const char *boardid,char *boardname); 兴建一个版,创造对应的表。其余参数取默许值。 int deleteboard( const char *boardid ); 简略一个版,简略对应的表。 int getboardinfo( const char *boardid, char *boardname, int& numposts, char *masters, char *class, long &level ); 取的版面包车型的士消息。 int modifyboardid( const char *oldid, char *newid ); 变换版的英文id,对应table的称呼也要变换, int modifyboardinfo( const char *boardid, char *boardname, int numposts, char *masters, char *class, long level ); 窜改版面消息,须要特权。 // 相关版面作品的操纵。 int addtext( char *boardid, char *title, char *writer, char *text ); 往版面中减少作品,里面将长作品分隔成2k的块。 int deletetext( char *boardid, int num ); 简略作品,不过做一个标志,并不连忙窜改对应的table。 int flushtable( char *boardid ); 革新版面,简略被删作品的对应的记载。 int marktext( char *boardid, int num, char mark ); 给作品做标志。 int modifytitle( char *boardid, int num, char *newtitle ); 窜改作品的题目。 int modifytext( char *boardid, int num, char *newtext ); 窜改作品实质,不是本人的作品须要特权。 int gettextinfo( const char *boardid, int num, char *title, char *writer, char& mark ); 博得作品的题目消息。 int gettext( const char *boardid, int num, int block, char *text ); 读取作品的实质,以块为单元。 // 作品和作家的查问 // 一次将查问的截止十足归来? int querywriter( const char *boardid, char *writer, char **result ); 查问版面上,某作家的作品。 int querytitle( const char *boardid, char *title, char **result ); 查问版面上,题目中包括指定实质的作品。 } 参数的传播是一件比拟腻烦的事,从笼统的观点,蓄意归来的数据与 底层无干,以是该当加以处置,但从功效的观点,又不蓄意数据举行屡次 复制,另一上面,空间的请求开释,毕竟是在表层中实行仍旧在本层中实行 呢?一不提防,很简单有外存缺点。