数据库开发实习报告模板_第1页
数据库开发实习报告模板_第2页
数据库开发实习报告模板_第3页
数据库开发实习报告模板_第4页
数据库开发实习报告模板_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

家电信息管理系统》数据库开发技术-教学实习报告专业: 计算机科学与技术班级: 09级计本3班小组成员:李明洋宣召龙邹宏亮窦红涛指导教师:谢艳新、许薇二o—二年六月十日目录TOC\o"1-5"\h\z\o"CurrentDocument"家电信息管理系统当前的研究现状 1\o"CurrentDocument"目前存在的主要问题 1\o"CurrentDocument"提出解决各种问题的路线及方法 1\o"CurrentDocument"采用工具是哪些 2\o"CurrentDocument"运行的环境 2\o"CurrentDocument"数据库设计阶段 3需求分析 3\o"CurrentDocument"登录界面 4\o"CurrentDocument"概念设计 5逻辑结构设计 6物理逻辑设计 6数据库实施 6\o"CurrentDocument"7.程序代码 8login窗体 8From1窗体 9From2窗体 14\o"CurrentDocument"总结 19参考资料 19指导教师评语: 19家电信息管理系统当前的研究现状数据仓库(DataWarehouse)被企业所采用已有十多年的时间,其中的成功或失败都为许多企业提供了宝贵经验。随着数据仓库使用者日益成熟,他们对数据仓库的期望也不断提高。随着许多企业以运用业界最佳实例与先进的技术,开始重整其数据仓库,我们也逐渐迈入第二代的数据仓库。数据仓库已从后端的策略性决策支持系统,变为整个企业运营的一个关键组件。家电信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。介绍了家电信息管理系统的制作过程。当前市场上对家电信息管理系统都有很大的需求,然而目前市场上的家电信息管理系统都系实存在这样或那样的缺陷,因此我们想通过调查设计个具有特色的家电信息管理系统,达到实用和尽量减少烦琐的作的目的。本系统采用9.0编写,数据库SQLsever2008。家电信息管理系统实现自动化以后可以使工作人员减少70%的工作,有限的经费发挥最大的使用价值;极大地提高资源的标准性和信息的使用效率。家电信息自动化管理是当今信息化发展的必然趋势。目前存在的主要问题目前很多家电信息还在使用来管理家电信息里的商品,用户少的时候,人工记录方法能满足当前的需要,问题并不突出,但随着社会的进步,人们的生活越来越丰富,人工记录方法来维数量众多商品,既效率低又错误过多,根本不能满足人们的需要,大大影响了家电信息的正常管理工作。同时,即使已经用上家电信息管理系统的商品,因为对系统的不了解或系统本身存在问题,使销售效率没有达到理想的效果。同时,数据库技术发展快速,目前分布式查询已经广泛应用,新技术如异构和数据仓库,数据挖掘技术的成熟,很多行业都在应用,要想在竞争中取胜必需有更高的效益,只有不断应用新技术才能满足用户对效率的追求。因此家电信息中应用信息管理系统,是对产品资源、销售资源、货物信息、用户信息进行管理和及时了解各个环节中信息的变更,有利于管理效率的提高。提出解决各种问题的路线及方法第一代“数据仓库”通常是部门级的数据集市,仅能支持来自特定部门的有限查询,容易导致信息重复、各数据集市的信息不一致、无法解答企业层的问题,更不用提支持所有分散系统所需的高额成本。然而,那些已将数据集市整合至集中数据仓库的公司,则已开始体验到整合数据集市所带来的优势,以及以前不可能达到的业务成果。整合数据集市的趋势反映于2002年3月的GartnerResearch所发表的一篇文章,文中阐明:“在低迷的经济状况下,企业可将数据集市整合为单一的数据仓库,以降低成本并提高业务价值。”Gartner接着预测:“在2002年运用数据仓库实施方法开始致力于数据集市整合的企业,将可在2004年之前缩减至少50%的费用,并至少提高500%的业务价值。”解决办法:(1) 增加更多的分析,有利于提高查询速度。五大数据挖掘趋势研究报告中,企业数据挖掘解决方案将因其拥有更具预测性的模式、更佳的数据挖掘模型、更具成本效益的模型、逐步形成的数据挖掘标准,以及整合于RDBMS服务器中而被企业加速采用。(2) 动态数据仓库的应用。要具备真正的竞争力,使用者必须预测将会发生的事,而且更要有正确的信息,来驱动想要让它发生的事。动态数据仓库包含了操作系统的整合分析,以制定最佳的战术和策略性决策。动态数据仓库能支持下列功能:在信用卡交易期间进行欺诈监测;从呼叫中心自动产生直效营销;根据客户对公司的价值,在与客户接触时能弹性地制定价格。采用工具是哪些本项目采用SQL2008作为后台数据库,Microsoft®SQLServer™2008扩展了MicrosoftSQLServer7.0版的性能、可靠性、质量和易用性。MicrosoftSQLServer2008增加了几种新的功能,由此成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台,采用vb与数据库的连接。在开发阶段主要用企业管理器作为开发工具,主要使用触发器和存储过程对系统中的数据的完整性和一至性的约束。在测试阶段用查询分析器来检验设计是否达到设计的功能。运行的环境应用于Windows局域网和远程服务器.数据库服务器采用SQLServer2008,运行于WindowsNT或Windows2000Server操作系统.后台程序运行于vb环境中.数据库设计阶段6.1需求分析在本阶段任务是对家电信息的工作流程进行调查和了解,分析,确定用户的需求是什么。在熟悉业务活动的基础上,协助用户明确新系统的各种需求,包括用户的信息需求,处理需求,安全性,和完整性的需求等。在收集各种需求数据的,对前面调查的结果进行初步的分析,确定新系统的边界,确定哪些功能由计算机完成或将来准备让计算机完成,哪些由人工完成。由计算机完成的功能就是新系统应该实现的功能。系统分析的最后阶段是编写系统分析报告,即需求规范说明书,需求规范说明书是对需求分析阶段的一个总结。系统分析报告经有关技术专家评审后,由项目方与开发方签字确认。家电信息库存管理是以订单为核心,而行为管理主要集中于发单,入库,出库的查询,统计.在此信息基础上,向各个不同的供应商发送供求信息,使家电信息销售供应正常。方便各部门进行工作的总结和分析,并为经理层提供月度报表或季度报表,使这一层的领导能总体把握整个家电信息库存的运行状况,经营情况和存在的问题,更有利于采取相应的决策,进行总体协调。家电信息库存的优点:适用性:功能齐全,模块式可拆卸易用性:作简单,容易维护稳定性:系统成熟,稳定,安全性能好合理性:价格合理,售后服务有保障家电信息库存的缺点:1单一性:其主要依赖订单,订单不及时时,系统难以维持。系统设计目的(1)大大提高家电信息的运作效率。(2)通过全面的信息采集和处理,辅助提高家电信息的决策水平。使用本系统,可以迅速提升家电信息的管理水平,为降低经营成本,提高效益,增强家电信息扩张能力,提供有效的技术保障。图6-1整体数据流图6.2登录界面图6-3登录界面6.3概念设计本阶段的主要任务是对需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型作为概念设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。本次开发使用混合的策略来设计概念结构的E—R模型。从需求分析中抽象出系统的实体,属性,联系,并通过全局模型设计得出图书管理系统的基本E-R图,如下图:销售数谜销售厂彖繼号备注)(产品编号)销售数谜销售厂彖繼号备注)(产品编号) (产品名称) C价格)C库存量J(地区) (负责人) C业话)描述产品和厂家的E-R图字段名字段类型约束控制字段说明商品名称varChar(50)主键编号价格Float()Notnull价格商品数量Float()Notnull商品数量商品产地Varchar(30)Notnull商品产地单位Char(10)Notnull单位制造商Varchar(30)Notnull制造商种类Varchar(30)Notnull标志图6-5建立数据库表逻辑结构设计概念结构设计阶段得到的E-R模型是用户模型,它独立于任何一种数据模型,独立于任何一个DBMS。为了建立用户所要求的数据库,需要把上述概念模型转换成某个具体的DBMS所支持的数据模型。数据库逻辑设计的任务是将概念结构转换成特定的DBMS所支持的数据模型的过程。经过初始关系模式设计,关系模式规范化,模式的评价与改进,得出以下几个关系模式:商品(商品名称,商品数量,商品价格,商品产地,商品种类,单位,生产厂商)物理逻辑设计数据库最终要存储在物理设备上,对于给定的逻辑数据模型,选取一个最适合的应用环境的物理结构的过程,称为数据库物理设计。物理设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。此阶段是以逻辑设计的结果作为输入,结合具体的DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。以下为存取记录的结构设计:读者表6-1:数据库实施数据库实施是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构,装入数据,进行测试和试运行的过程。数据库实施主要包括,建立实际数据库结构,装入数据,应用程序编码与调试,数据库运行和整理文档。在项目是用Microsoft®SQLServer™2000作为后台数据库,主要用了企业管理器作为设计工具,用查询分析器作为功能的检验。以下为开发中的主要代码和在查询分析器检验的代码:添加记录:Stringexe="insertintoCommBiao(commName,commJiage,commDanwei,commChangjia,commShuliang,commChandi,commZhonglei)values('"+newString(db.getCommName().getBytes("8859_1"),"gbk")+"','"+db.getCommJiage()+"','"+newString(db.getCommDanwei().getBytes("8859_1"),"gbk")+"','"+newString(db.getCommChangjia().getBytes("8859_1"),"gbk")+"','"+db.getCommShuliang()+"','"+newString(db.getCommChandi().getBytes("8859_1"),"gbk")+"','"+newString(db.getCommZhonglei().getBytes("8859_1"),"gbk")+"')"图6-6添加登录页面删除记录:Stringexe="deletefromCommBiaowhereid="+id;修改记录:Stringexe="updateCommBiaosetcommName='"+newString(db.getCommName().getBytes("8859_1"),"gbk")+"',commJiage='"+db.getCommJiage()+"',commDanwei='"+newString(db.getCommDanwei().getBytes("8859_1"),"gbk")+"',commChangjia='"+newString(db.getCommChangjia().getBytes("8859_1"),"gbk")+"',commShuliang='"+db.getCommShuliang()+"',commChandi='"+newString(db.getCommChandi().getBytes("8859_1"),"gbk")+"',commZhonglei='"+newString(db.getCommZhonglei().getBytes("8859_1"),"gbk")+"'whereid="+db.getId();查询记录:Stringexe="select*fromCommBiaowhereid="+id;ResultSetrs=stm.executeQuery(sql);intcount=0;if(rs.next()){count=rs.getInt(1)}stm.execute(sql);close();returncount;}7.程序代码7.1login窗体'PrivateDeclareFunctionGetUserNameLib"advapi32.dll"Alias"getusernamea"(ByVallpBufferAsString,nSizeAsLong)AsLongPrivateDeclareFunctionGetUserNameLib"advapi32.dll"Alias"GetUserNameA"(ByVallpBufferAsString,nSizeAsLong)AsLongPrivateSubcmdcancel_Click()UnloadMeEndSubPrivateSubcmdok_Click()DimtxtsqlAsStringtxtsql="select*fromuserswhereuserid='"&Trim(username.Text)&"'"&"andpassword='"&Trim(password.Text)&"'"Setmrc=executesql(txtsql)Ifmrc.EOF=FalseThenmrc.Closeflag=1UnloadMeElseMsgBox"密码不正确,请重新输入!",,"login"username.SetFocusEndIfEndSubPrivateSubForm_Load()DimsbufferAsStringDimlsizeAsLongsbuffer=Space$(255)lsize=Len(sbuffer)CallGetUserName(sbuffer,lsize)Iflsize>0Thenusername.Text=Left$(sbuffer,lsize)Elseusername.Text=vbNullStringEndIfEndSub7.2From1窗体OptionExplicitPublicmrcAsADODB.RecordsetPubliccpbhAsStringPublictxtsqlAsStringPrivateSubcmd_Click()DimcountAsIntegerDimsmegAsStringDimmrccAsADODB.RecordsetDimmsgtextAsStringDimcpbh,cpmcAsStringDimjgAsDoubleDimkclAsIntegerDimcnnAsADODB.ConnectionDimcmdupdateAsNewADODB.CommandDimcmddeleAsNewADODB.CommandSelectCaseflagaddCase1'添加操作的实现IfTrim(Combo1.Text&"")=""Thensmeg="产品编号"EndIfForcount=1To3IfTrim(txtitem(count)&"")=""ThenSelectCasecountCase1smeg="产品名称"Case2smeg="产品价格"Case3smeg="产品库存量"EndSelectsmeg=smeg&"不能为空!"MsgBoxsmeg,vbOKOnly+vbExclamation,"警告"txtitem(count).SetFocusExitSubEndIfNextcountcpbh=Combo1.TextCombo1.AddItemTrim(cpbh)cpmc=txtitem(2).Textjg=CDbl(txtitem(1).Text)kcl=CInt(txtitem(3).Text)txtsql="select*fromcpwherecpbh='"&Trim(Combo1.Text)&"'"Setmrcc=executesql(txtsql)Ifmrcc.EOF=FalseThenMsgBox"此产品编号已存在!",vbOKOnly+vbExclamation,"警告"Combo1.SetFocusmrcc.CloseElseSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execcp_insert'"&cpbh&"','"&cpmc&"',"&jg&","&kclcnn.CloseMsgBox"数据已保存!",vbOKOnly+vbExclamation,"提示"Combo1.Text=""Forcount=1To3txtitem(count).Text=""NextcountEndIfCase2cpbh=Combo1.Textcpmc=txtitem(1).Textjg=CDbl(txtitem(2).Text)kcl=CInt(txtitem(3).Text)'Setcnn=NewADODB.Connection'cnn.Openconnectstring'Setcmdupdate.ActiveConnection=cnn'mandtext="cp_update"'cmdupdate.CommandType=adCmdStoredProc'cmdupdate.Parameters.appendcmdupdate.createparameter("cpbh0",adchar,adparaminput,6,cpbh)'cmdupdate.Parameters.appendcmdupdate.createparameter("cpmc0",adchar,adparaminput,12,cpmc)'cmdupdate.Parameters.appendcmdupdate.createparameter("jg0",addouble,adparaminput,jg)'cmdupdate.Parameters.appendcmdupdate.createparameter("kcl0",adinteger,adparaminput,kcl)'cmdupdate.Parameters.appendcmdupdate.createparameter("flag",adinteger,adparamoutput)'cmdupdate.Execute'cmdupdate.ExecuteSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execcp1_update'"&cpbh&"','"&cpmc&"',"&jg&","&kclcnn.Close'Ifcmdupdate("flag")=1ThenMsgBox"数据已更新!",vbOKOnly+vbExclamation,"提示"'Else'MsgBox"数据更新不成功!",vbOKOnly+vbExclamation,"提示"'cnn.Close'EndIfCase3cpbh=Combo1.TextSetcnn=NewADODB.Connectioncnn.OpenconnectstringSetcmddele.ActiveConnection=cnncmddele.CommandText="cp1_delete"cmddele.CommandType=adCmdStoredProccmddele.Parameters.Appendcmdupdate.CreateParameter("cpbh0",adChar,adParamInput,6,cpbh)cmddele.Parameters.Appendcmddele.CreateParameter("flag",adInteger,adParamOutput)'cmddele.Exectutecmddele.ExecuteIfcmddele("flag")=1ThenMsgBox"记录已被删除!",vbOKOnly+vbExclamation,"提示"Forcount=0ToCombo1.ListCount-1IfCombo1.List(count)=Combo1.TextAndCombo1.Text<>""ThenCombo1.RemoveItemcountCombo1.Text=""EndIfNextcountForcount=1To3txtitem(count).Text=""NextcountEndIfcnn.CloseEndSelectEndSubPrivateSubcombo1_click()DimstrText,msgtextAsStringDimcpbhAsStringstrText=Combo1.Textcpbh=Combo1.Texttxtsql="select*fromcpwherecpbh='"&strText&"'"Setmrc=executesql(txtsql)IfNotmrc.EOFThentxtitem(1).Text=mrc.Fields(1)txtitem(2).Text=mrc.Fields(2)txtitem(3).Text=mrc.Fields(3)EndIfmrc.CloseCombo1.SetFocusEndSubPrivateSubtxtItem_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)SelectCaseIndexCase0IfKeyCode=13Thentxtitem(1).SetFocusEndIfCase1IfKeyCode=13Thentxtitem(2).SetFocusEndIfCase2IfKeyCode=13Thentxtitem(3).SetFocusEndIfEndSelectEndSubPrivateSubCombo1_KeyPress(KeyAsciiAsInteger)DimmsgtextAsStringIfKeyAscii=13Andflagadd=1Thentxtsql="select*fromcpwherecpbh='"&Trim(Combo1.Text)&"'"Setmrc=executesql(txtsql)Ifmrc.EOF=FalseThenMsgBox"此产品编号已存在!",vbOKOnly+vbExclamation,"警告"Combo1.SetFocusmrc.CloseElsetxtitem(1).SetFocusEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Activate()DimmsgtextAsStringDimflagAsIntegerIfflagadd=2Orflagadd=3Thenflag=0txtsql="select*fromcp"Setmrc=executesql(txtsql)IfNotmrc.EOFThenDoWhileNotmrc.EOFCombo1.AddItemTrim(mrc.Fields(0))Ifflag=0Thenflag=1EndIfCombo1.Text=mrc.Fields(0)cpbh=Combo1.Texttxtitem(1).Text=mrc.Fields(1)txtitem(2).Text=mrc.Fields(2)txtitem(3).Text=mrc.Fields(3)mrc.MoveNextLoopEndIfmrc.CloseCombo1.SetFocusEndIfEndSubPrivateSubForm_Load()Me.Caption="产品信息"SelectCaseflagaddCase1Me.Caption=Me.Caption&"添加"cmd.Caption="保存(&S)"Case2Me.Caption=Me.Caption&"修改"cmd.Caption="更新(&U)"Case3Me.Caption=Me.Caption&"删除"cmd.Caption="删除(&D)"EndSelectEndSubPrivateSubText1_Change()EndSubPrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)EndSub7.2From2窗体PrivateSubcmd_Click()DimicountAsIntegerDimsmegAsStringDimmrccAsADODB.RecordsetDimmsgtextAsStringDimxsbh,xsmc,dq,fzr,dh,mzAsStringDimcnnAsADODB.ConnectionDimcmdupdataAsNewADODB.CommandDimcmddeleAsNewADODB.CommandSelectCaseflagaddCase1IfTrim(Combo1.Text&"")=""Thensmeg="销售赏编号"EndIfForicount=0To4IfTrim(txtitem(icount)&"")=""ThenSelectCaseicountCase0smeg="销售商名称"Case1smeg="地区"Case2smeg="负责人"Case3smeg="电话"Case4smeg="备注"EndSelectsmeg=smeg&"不能为空!"MsgBoxsmeg,vbOKOnly+vbExclamation,"警告"txtitem(icount).SetFocusExitSubEndIfNexticountxsbh=Combo1.TextCombo1.AddItemTrim(xsbh)xsmc=txtitem(0).Textdq=txtitem(1).Textfzr=txtitem(2).Textdh=txtitem(3).Textmz=txtitem(4).Texttxtsql="select*fromxsswherexsbh='"&Trim(Combo1.Text)&"'"Setmrcc=executesql(txtsql)Ifmrcc.EOF=FalseThenMsgBox"此销售商的编号已存在!",vbOKOnly+vbExclamation,"警告"Combo1.SetFocusmrcc.CloseElseSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execxss1_insert'"&xsbh&"','"&xsmc&"','"&dq&"','"&fzr&"','"&dh&"','"&mz&"'"cnn.CloseMsgBox"数据已保存!",vbOKOnly+vbExclamation,"提示"Combo1.Text=""Foricount=0To4txtitem(icount).Text=""NexticountEndIfCase2xsbh=Combo1.Textxsmc=txtitem(0).Textdq=txtitem(1).Textfzr=txtitem(2).Textdh=txtitem(3).Textmz=txtitem(4).TextSetcnn=NewADODB.Connectioncnn.Openconnectstringcnn.Execute"execxss_update'"&xsbh&"','"&xsmc&"','"&dq&"','"&fzr&"','"&dh&"','"&mz&"',"&flagcnn.CloseIfflag=1ThenMsgBox"数据已更新!",vbOKOnly+vbExclamation,"提示"ElseMsgBox"数据更新不成功",vbOKOnly+vbExclamation,"提示"cnn.CloseEndIfCase3xsbh=Combo1.TextSetcnn=NewADODB.Connectioncnn.OpenconnectstringSetcmddele.ActiveConnection=cnncmddele.CommandText="xss_delete"cmddele.CommandType=adCmdStoredProccmddele.Parameters.Appendcmddele.CreateParameter("xsb0",adChar,adParamInput,16,xsbh)cmddele.Parameters.Appendcmddele.CreateParameter("flag",adInteger,adParamOutput)cmddele.ExecuteIfcmddele("flag")=1ThenMsgBox"记录已被删除!",vbOKOnly+vbExclamation,"提示"Foricount=0ToCombo1.ListCount-1IfCombo1.List(icount)=Combo1.TextAndCombo1.Text<>""ThenCombo1.RemoveItemicountCombo1.Text=""EndIfNexticountForicoun=0To4txtitem(icoun).Text=""NexticounEndIfcnn.CloseEndSelectEndSubPrivateSubcmdexit_Click()UnloadMeEndSubPrivateSubcombo1_click()Dimxsbh,msgtextAsStringDimiAsIntegerxsbh=Combo1.Texttxtsql="select*fromxsswherexsbh='"&xsbh&"'"Setmrc=executesql(txtsql)IfNotmrc.EOFThenFori=0To4IfNotIsNull(mrc.Fields(i+1))Thentxtitem(i).Text=mrc.Fields(i+1)Elsetxtitem(i).Text=""EndIfNextiEndIfmrc.CloseEndSubPrivateSubCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SelectCaseIndexCase0IfKeyCode=13Thentxtitem(1).SetFocusEndIfCase1IfKeyCode=13Thentxtitem(2).SetFocusEndIfCase2IfKeyCode=13Thentxtitem(3).SetFocusEndIfCase3IfKeyCode=13Thentxtitem(4).SetFocusEndIfEndSelectEndSubPrivateSubCombo1_KeyPress(KeyAsciiAsInteger)DimmsgtextAsStringIfKeyAscii=13Andflagadd=1Thentxtsql="select*fromxsswherexsbh=""&trim(combo1.text)&"""Setmrc=executesql(txtsql)Ifmrc.EOF=FalseThenMsg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论