




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书 第 35 页 共30页1 引言博客(Blog)的全名应该是Web log,中文意思是“网络日志”,后来缩写为Blog,而博客(Blogger)就是写Blog的人。从理解上讲,博客是“一种表达个人思想、网络链接、内容,按照时间顺序排列,并且不断更新的出版方式”。简单的说博客是一类人,这类人习惯于在网上写日记。 博客(Blog)是继Email、BBS、IM之后出现的第四种网络交流方式,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。具体说来,博客(Blogger)这个概念解释为使用特定的软件,在网络上出版、发表和张贴个人文章的人。博客是一种满足“五零”条件(零编辑、零技术、零体制、零成本、零形式)而实现的“零进入壁垒”的网上个人出版方式,从媒体价值链最重要的三个环节:作者、内容和读者三大层次,实现了“源代码的开放”。并同时在道德规范、运作机制和经济规律等层次,将逐步完成体制层面的真正开放,使未来媒体世界完成从大教堂模式到集市模式的根本转变。 博客的出现集中体现了互联网时代媒体界所体现的商业化垄断与非商业化自由,大众化传播与个性化(分众化,小众化)表达,单向传播与双向传播3个基本矛盾、方向和互动。这几个矛盾因为博客引发的开放源代码运动,至少在技术层面上得到了根本的解决。 本博客系统中,是采用了B/S设计模式,它是一个经过考验的真正的软件设计模型,它可以使程序成为可维护的、模块化的和快速开发的包。使用分离的模型(Model)、视图(View)和控制器(Controller)组织的程序是轻便的。新的特性很容易就被加入,旧的程序换上新的外观也是一下子的功夫。模块化和分离的设计使得开发者和设计者能够同时工作,这包括了快速原型的能力。分离的设计令开发者可以修改应用的一部分而不会影响到其它部分。2 系统的开发背景、开发环境、目的和意义2.1 开发背景Blog是1997年12月由美国的Jorn Barger最早提出的,这些年全球博客获 得了突飞猛进的发展。据博客搜索Technorati统计,目前全球平均每5.8秒钟诞生一个博客。它是一个个人互联网出版工具,博客使用者可以很方便地用文字、链接、图片建立起个性化的网络世界。博客正在改变人与人之间交流方式。目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。很多律师、教授、学者,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化。许多企业正在把博客方式引入到企业的内部网和公司网站,用于非正式的知识管理和网络营销等。政府和教育等领域都在尝试利用博客构造内部知识管理和沟通交流的新体系,可以让职员积累知识,发表评论,链接有意思的网络资源,促进彼此的交流沟通。一个典型的博客结合了文字,图像,其他博客或网站的链接及其他与主题相关的媒体。能够让用户以互动的方式留言,是许多博客的重要组成元素。 博客是使用方便的、交互性强。与传统的电子邮件、BBS等互联网沟通方式相比,博客是一种较人性化的沟通平台。BBS公共匿名性很强,而且缺乏约束。电子邮件是多用于个人间的通讯,而博客是公共性和个人性的结合。博客是个人在网上展示自己风采、与别人交流的综合平台,它的管理比BBS简单的多。2.2 开发目的及意义博客能让个人在互联网上表达自己的心声。这是一个收集和共享任何感兴趣的事物的地方-可以是政治评论、个人日记或是指向您想记住的网站的链接。许多人使用博客只是要组织自己的想法,而有些人则在全球成千上万的浏览者中赢得影响力。职业和业余新闻记者使用博客发布特发新闻,而有写日记习惯的人则会在博客 中宣示自己内心的想法。而摄影和美术发烧者,可以通过博客 系统的管理自己的作品,无论您要发表什么意见,博客都可以帮您表达出来。 博客作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。意义:(1)促进学习。写blog可以促进学习,想写出文章来,自然不能是泛泛的了解就可以的,要理解了才能写得出来的。这就促进了对某些领域的不断学习和思考。 (2)记录收获。blog中,常常是记录下来都是瞬间的灵感,对事物的感悟,经过多日思考和实践的结果,对某个问题的解决方案等等,这些都是财富,要记录下来。 (3)反映成长。写blog,可以反映出人的思考过程,而不仅仅是思考结果。对一个问题或领域,从不了解到了解,从了解到熟悉,从熟悉到精通。这纪录了一个人思考和解决问题的成长过程。很久之后,看到自己之前的文章,你将会觉得自己进步了。 (4)结交朋友。写了blog,自然会有许多志趣相同的朋友来阅读,这可以认识许多朋友。大家有共同的兴趣爱好,自然谈得来。 (5)共享知识。blog给大家看,大家的blog也给你看。这个问题我解决了,那个问题他解决了。大家互通有无,建立起一个社群。 (6)交流看法。回复的人对blog的观点或赞同,或反对,大家一起讨论,听听别人的思想,可以促进双方的共同进步。 (7)包装自己。看到一篇篇用心写出的文章,自然是对自己知识技能的最好宣传。2.3 开发环境1)C#语言C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#看似基于C+写成,但又融入于其他语言如JAVA、VB等语言。2)SQL Sever 2008介绍Microsoft SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的Microsoft SQL Server版本。微软个数据平台满足这些数据爆炸和下一代数据驱动应用程序平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。这个平台有以下特点 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的。 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。3)Microsoft Visual Studio 2010介绍Visual Studio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境,Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。3 系统需求分析和可行性分析3.1 系统需求分析(1) 前台管理本网站前台是对博客和访客两种身份开放的,博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、与相关人员进行交流和沟通以及删除访客发表的评论等。访客可以登录或以匿名身份对博客的文章发表评论。1)访客主页面实现过程2)浏览博客的所有文章3)访客发表评论4)博客管理文章5)博客管理评论 (2) 后台管理 后台管理模块只对管理员开放,管理员登录后,可以查找和删除已注册的博客用户,可以添加、修改和删除管理员并对管理员进行权限设置,还可以添加、查找和删除友情链接。其具有的功能如下:(1) 主页管理:删除主页信息 (2) 幻灯片管理:修改图片图片(3) 博客信息的管理:查找、删除博客用户 (4) 管理员管理:添加、修改、删除管理员 (5) 链接管理:添加链接,删除、查询链接3.2 可行性分析“可行性分析是在对系统调查的基础上,得出本系统的开发是不是能够实现和是否值得进行。对系统的开发从技术,经济,社会等方面进行分析和研究,以避免各种失误,保证系统的设计成功。” (1)经济可行性分析。经济可行性分析主要是对博客的经济效益进行分析。本网站对网站开发者来说并不需要太高的成本支出,只是对网站的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,而且本网站对开发者开说不需要太高的软硬件支出,成本低效益高,所以网站在经济上是可行的。(2)技术可行性分析。技术上的可行性分析主要分析技术条件能否顺利完成工作,分析软,硬件能否满足开发者的需求等。该网站采用的ASP.NET开发,数据库服务器选用微软公司的Sql Server数据库,它能处理大量数据,同时保持数据的完整性并提供许多高级管理功能。硬件方面,硬件更新的速度随着科技飞速发展越来越快,容量越来越大,可靠性越来越高,完全满足校园博客网站的需要。 (3)运行可行性分析。此网站具备友好漂亮的页面,使用方便,操作简单,易于被用户接受,用户只要熟悉计算机的操作,就能浏览博客,查看日志,欣赏图片,留言等操作。在管理网站方面更是简单,方便。从使用操作方面看,此网站简单,方便,易于运行。 (4)法律可行性分析。本网站的设计都是在法律范围内进行设计的,没有侵权,或蓄意破坏他人网站的行为。 (5) 管理方面:系统的开发主要就是为了方便个人信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。 综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。 4 系统数据库设计41 系统数据库E-R图读者性别博客读者姓名出生日期证件名称证件号码会员级别办证日期联系方式电子邮件读者编号图4-1-1 读者信息实体E-R图管理员图书书号存放位置图书单价图书页数库存数量图书印数遗失数量出借数量图书版次图书规格ID所属丛书出版公司入库数量入库日期图4-1-2 图书信息实体E-R图nmn操作用户管理博客管理员浏览nm图4-1-4 实体关系E-R图42 系统数据库4.2.1 留言表(message)用来记录访客与博客的留言,如表4-2-1所示。表4-2-1 4.2.2 回复留言信息表(replay)用来记录回复的相关信息,如表4-2-2所示。表4-2-24.2.3 管理员表(tb_Admin)用来记录管理员的是否为超级会员及相关信息,如表4-2-3所示。表4-2-3 4.2.4 评论表(tb_Article)用来记录博客和访客的评论信息,如表4-2-4所示。表4-2-4 4.2.5 博客信息表(tb_Blog)用来显示博客的相关信息,如表4-2-5所示。表4-2-5 4.2.6 链接表(tb_Href)用来显示友情链接相关信息,如表4-2-6所示。表4-2-6 4.2.7 美文表(tb_Meiwen)用来显示博客上传的美文,便于博客和管理员管理,如表4-2-7所示。表4-2-74.2.8 信息表(tb_Message)用于显示博客的编号,如表4-2-8所示表4-2-84.2.9 新闻表(tb_News)用于显示新闻的一些相关信息,便于查询。如表4-2-9所示表4-2-94.2.11 照片表(tb_Photo)用于存储博客上传的照片,如表4-2-10所示表4-2-104.2.12 回复表5 总体设计5.1 系统功能本系统要完成的功能有:1.本网站前台是对博客和访客两种身份开放的,博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、与相关人员进行交流和沟通以及删除访客发表的评论等。访客可以登录或以匿名身份对博客的文章发表评论。1)访客主页面实现过程2)浏览博客的所有文章3)访客发表评论4)博客管理文章5)博客管理评论 2.后台管理模块只对管理员开放,管理员登录后,可以查找和删除已注册的博客用户,可以添加、修改和删除管理员并对管理员进行权限设置,还可以添加、查找和删除友情链接。1)系统管理员登录实现过程2)管理博客系统功能模块:通过对系统的需求分析,并对各个功能要求分析,进行集中、分块,可得系统的功能模块图以及后台管理模块图,分别如图5-1-1和图5-1-2所示。图5-1-1 系统功能模块图图5-1-2 后台管理模块图5.2 系统流程图 5.2.1 前台的流程管理员管理博客管理链接管理退出增、删、改、查询博客和链接信息增、删、改管理员分配使用权限选择项YES启动系统输入用户口令检验退出系统NO5.2.2 后台管理流程6 系统功能模块结构与实现6.1 访客的主页面在这个页面访客可以浏览注册信息,浏览文章、公告、美文、新闻还可以进行评论等功能。6.2 博客界面登录成功则进入博客主界面,本网站包括修改个人信息、文章管理、照片管理、评论管理、通讯管理等功能。博客界面是网站的前台部分,它还是进入后台的入口。 图6-2 个人信息修改6.2.1 浏览文章界面在这里博客可以对文章进行浏览和评论。图6-2-1 文章信息管理6.2.2 图片管理界面 博客可以进行添加和删除图片的功能。图6-2-2 图片管理6.3 后台界面6.3.1 后台登录功能在这个窗体上实现了进入后台主界面的功能。图6-3-2-2 后台登录界面6.3.2 后台主界面从博客界面成功进入后台主界面,后台包括管理员管理、博客信息、链接管理、主页管理、幻灯片管理等功能。图 6-3-3-1 后台主界面6.3.3 管理博客界面 管理博客用户信息,还可以进行不同的查询,如下图所示图 6-3-3-1管理博客界面6.3.4 查询管理功能借阅管理包括在借图书查询、在馆图书查询、挂失图书查询、挂失读者查询、图书借史查询。图6-3-4-1 主页管理界面6.4 留言功能6.4.1 查看、发布留言信息图6-4-1 查看和发布留言界面6.4.2 管理留言界面图6-4-2 留言管理界面6.5 相关代码(1)文章信息管理public partial class Module_Blog_ArticleManage : System.Web.UI.Page DBClass dbObj = new DBClass(); CommonClass ccObj = new CommonClass();protected void Page_Load(object sender, EventArgs e)if (SessionUserID = null)Response.Redirect(Default.aspx); BindData();/显?示?博?客发表文?章?的?信?息 protected void gvArticle_RowDeleting(object sender, GridViewDeleteEventArgs e) string strSql = delete from tb_Article where ArticleID= + gvArticle.DataKeyse.RowIndex.Value + ; dbObj.ExecNonQuery(strSql); if (ViewStatesearch != null) SearchBind();/显?示?符?合?条?件t的?数y据Y信?息 else BindData();/显?示?博?客发表文?章?的?信?息 public void BindData() string strSql = select * from tb_Article where BlogID= + SessionUserID + ;/查询博?客发表的?文?章? DataTable dsTable = dbObj.GetDataSet(strSql,tbArticle); this.gvArticle.DataSource = dsTable.DefaultView;/绑定GridView控?件t gvArticle.DataKeyNames = new string ArticleID ; gvArticle.DataBind(); public void SearchBind() /显?示?符?合?条?件t的?数y据Y信?息 string strSql = Select * from tb_Article Where ( Subject like % + this.txtKey.Text + %; strSql += or Content like % + this.txtKey.Text + %); strSql += and BlogID=+SessionUserID+; strSql += order by Time Desc; DataTable dsTable = dbObj.GetDataSet(strSql,tbArticle); this.gvArticle.DataSource = dsTable.DefaultView; gvArticle.DataKeyNames = new string ArticleID ; gvArticle.DataBind(); protected void btnSearch_Click(object sender, EventArgs e) ViewStatesearch = 1;/查询标志? SearchBind();/显?示?符?合?结果?的?数y据Y信?息 protected void gvArticle_PageIndexChanging(object sender, GridViewPageEventArgs e) gvArticle.PageIndex = e.NewPageIndex; if (ViewStatesearch !=null) SearchBind();/显?示?符?合?条?件t的?数y据Y信?息 else BindData();/显?示?博?客发表文?章?的?信?息 protected void gvArticle_RowDataBound(object sender, GridViewRowEventArgs e)if (e.Row.RowType = DataControlRowType.DataRow)if (e.Row.Cells0.Text).Length 6)e.Row.Cells0.Text = (e.Row.Cells0.Text).Substring(0, 6) + -;/截?取?文?章?主题a if (e.Row.Cells1.Text).Length 6) e.Row.Cells1.Text = (e.Row.Cells1.Text).Substring(0, 6) + -;/截?取?文?章?内容Y try DateTime dt = Convert.ToDateTime(e.Row.Cells2.Text.ToString(); e.Row.Cells2.Text = dt.ToShortDateString();/格?式?化创建时间? (LinkButton)e.Row.Cells4.Controls0).Attributes.Add(onclick,return confirm(确定要a删?除y吗e?);/为aGridView控?件t的?删?除y按钮添加确认?对?话框 catch e.ToString(); (2)后台登录public partial class Admin_Index : System.Web.UI.Page DBClass dbObj = new DBClass(); CommonClass ccObj = new CommonClass(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) this.labVali.Text = ccObj.RandomNum(4);/产生验证码? protected void btnOK_Click(object sender, EventArgs e) if (this.txtVali.Text.ToLower() != this.labVali.Text.ToLower() /判D断?验证输?入?错误 Response.Write(ccObj.MessageBox(验证码?错误!?); else /判D断?用?户输?入?的?用?户和密码?是?否?合?法 string strSql = select * from tb_Admin where UserName= + this.txtUid.Text + and PassWord= + this.txtPwd.Text + ; DataTable dsTable = dbObj.GetDataSet(strSql, tbAdmin); if (dsTable.Rows.Count 0) SessionUserName = this.txtUid.Text;/保存?用?户名? SessionUserID = int.Parse(dsTable.Rows0ID.ToString();/保存?用?户ID代号? SessionSuperAdmin = dsTable.Rows0SuperAdmin.ToString();/保存?管理员级?别e Response.Redirect(AdminManage.aspx); else /用?户名?和密码?不?合?法 Response.Write(ccObj.MessageBox(用?户名?或密码?有D误!?); return; protected void btnCancle_Click(object sender, EventArgs e) Response.Write(window.close();location=javascript:history.go(-1);); (3)管理员管理:public partial class Module_Admin_Append : System.Web.UI.Page DBClass dbObj = new DBClass(); CommonClass ccObj = new CommonClass();protected void Page_Load(object sender, EventArgs e)if (!IsPostBack) if (SessionUserName = null) Response.Redirect(./Default.aspx); else this.txtKey.Text = ; BindData(); public void BindData() string strSql = select * from tb_Admin order by RegTime Desc ; DataTable dsTable = dbObj.GetDataSet(strSql, tbAdmin); this.gvAdmin.DataSource = dsTable.DefaultView; this.gvAdmin.DataKeyNames = new string ID ; this.gvAdmin.DataBind(); string strSql; public void SearchBind() strSql = select * from tb_Admin Where ; string search = this.ddlSearch.SelectedValue; switch (search) case 用?户名?: strSql += UserName Like % + this.txtKey.Text + %; break; case QQ: strSql += QQ Like % + this.txtKey.Text + %; break; default: Response.Write(ccObj.MessageBoxPage(出?错!?); break; strSql += order by RegTime Desc; DataTable dsTable = dbObj.GetDataSet(strSql, tbAdmin); this.gvAdmin.DataSource = dsTable.DefaultView; this.gvAdmin.DataKeyNames = new string ID ; this.gvAdmin.DataBind(); protected void gvAdmin_RowDeleting(object sender, GridViewDeleteEventArgs e)if (是? = SessionSuperAdmin.ToString() string strID = gvAdmin.DataKeyse.RowIndex.Value.ToString(); if (SessionUserID.ToString() != strID) dbObj.ExecNonQuery(delete from tb_Admin where ID= + gvAdmin.DataKeyse.RowIndex.Value + ); Page.Response.Redirect(AdminManage.aspx); else Response.Write(ccObj.MessageBoxPage(无T法删?除y自?已?的?资料?!?); else Response.Write(ccObj.MessageBox(非?超?级?管理员不?能进?行D删?除y操作!?); protected void gvAdmin_PageIndexChanging(object sender, GridViewPageEventArgs e)gvAdmin.PageIndex = e.NewPageIndex; if (ViewStatesearch != null) SearchBind(); else BindData(); protected void btnSearch_Click(object sender, EventArgs e) ViewStatesearch = 1; SearchBind(); txtKey.Text = ;protected void gvAdmin_RowDataBound(object sender, GridViewRowEventArgs e)if (e.Row.RowType = DataControlRowType.DataRow)(LinkButton)(e.Row.Cells5.Controls0).Attributes.Add(onclick, return confirm(确定删?除y吗e??); (4)博客信息管理:public partial class Module_Admin_AdminMagage : System.Web.UI.Page DBClass dbObj = new DBClass(); CommonClass ccObj = new CommonClass();protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) if (SessionUserName = null) Response.Redirect(/Default.aspx); else BindData();/显?示?博?客信?息 public void BindData() string strSql = select * from tb_Blog; DataTable dsTable = dbObj.GetDataSet(strSql, tbBlog); this.gvBlog.DataSource = dsTable.DefaultView; this.gvBlog.DataKeyNames = new string BlogID ; this.gvBlog.DataBind(); string strSelSql; public void SearchBind() strSelSql = Select * From tb_Blog Where ; string search = this.ddlSearch.SelectedValue; switch (search) case 博?客姓?名?:/按博?客姓?名?查询 strSelSql += UserName Like % + this.txtKey.Text + %; break; case QQ:/按QQ查询 strSelSql += QQ Like % + this.txtKey.Text + %; break; default: Response.Write(ccObj.MessageBoxPage(出?错!?); break; DataTable dsTable = dbObj.GetDataSet(strSelSql, tbAdmin); this.gvBlog.DataSource = dsTable.DefaultView; this.gvBlog.DataKeyNames = new string BlogID ; this.gvBlog.DataBind(); protected void btnSearch_Click(object sender, EventArgs e) ViewStatesearch = 1;/查询标志? SearchBind();/显?示?符?合?结果?的?数y据Y信?息protected void gvBlog_RowDeleting(object sender, GridViewDeleteEventArgs e) string strSql = delete from tb_Blog where BlogID= + gvBlog.DataKeyse.RowIndex.Value + ; strSql += Delete from tb_Article where BlogID= + gvBlog.DataKeyse.RowIndex.Value + ; strSql += Delete from tb_Message where FriendID= + gvBlog.DataKeyse.RowIndex.Value + ; strSql += Delete from tb_Message where BlogID= + gvBlog.DataKeyse.RowIndex.Value + ; strSql += Delete from tb_Revert where BlogID= + gvBlog.DataKeyse.RowIndex.Value + ; strSql += Delete from tb_Revert where VisitorID= + gvBlog.DataKeyse.RowIndex.Value + ; dbObj.ExecNonQuery(strSql);Response.Redirect(BlogManage.aspx); if (ViewStatesearch!=null) SearchBind();/绑定符?合?条?件t的?博?客信?息 else BindData();/绑定博?客信?息 protected void gvBlog_PageIndexChanging(object sender, GridViewPageEventArgs e)gvBlog.PageIndex = e.NewPageIndex; if (ViewStatesearch != null) SearchBind(); else BindData(); protected void gvBlog_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) (LinkButton)(e.Row.Cells6.Controls0).Attributes.Add(onclick, return confirm(确定删?除y吗e??); protected void Button2_Click(object sender, EventArgs e) for (int i = 0; i = gvBlog.Rows.Count - 1; i+) CheckBox cbox = (CheckBox)gvBlog.Rowsi.FindControl(CheckB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园路花砖购销合同协议
- 藏族考试语录 及答案
- vte考试题及答案
- vb大学考试试题及答案
- uc考试试题及答案
- 2-6-Dimethyl-5-methylene-3-oxo-heptanoyl-CoA-2-6-Dimethyl-5-methylene-3-oxo-heptanoyl-coenzyme-A-生命科学试剂-MCE
- R-3-Hydroxylauroyl-CoA-R-3-Hydroxylauroyl-coenzyme-A-生命科学试剂-MCE
- 24-Hydroxycholesterol-d4-生命科学试剂-MCE
- DB61T 557.16-2012 富硒鸡蛋规范
- DB61T 560.1-2013 长柄扁桃育苗技术规程
- 人教版高一下学期期末考试数学试卷与答案解析(共五套)
- 《福建省建筑工程施工文件管理规程2》
- 研发项目策划书
- 《花生膜下滴灌技术》课件
- 完整版江苏省政府采购专家库入库考试题库(1-4套卷)
- 产品定制管理制度
- 飞机基础知识-飞机机型分类
- 小学三年级上册《健康成长》全册教案教学设计
- 中国移动网络割接管理办法(2020版)
- 国土空间规划概述课件
- 教师和学校的故事征文
评论
0/150
提交评论