排课管理系统_第1页
排课管理系统_第2页
排课管理系统_第3页
排课管理系统_第4页
排课管理系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计<<排课管理系统>>院系专业班级姓名日期年月日目录摘要IABSTRACTII第一章引言1背景11开发教师管理系统的目的和原则3开发环境介绍3开发平台4——ACCESS数据库管理系统7第二章系统设计9系统分析9系统流程和操作方式设计11第三章系统界面设计12系统界面设计以及代码分析12第四章数据库的设计30数据库设计30数据库概念和发展30系统测试与评价38总结39致谢40参考文献41摘要20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例.管理信息系统是一个集信息技术、经济管理理论、统计学与运筹学、数据库技术为一体的综合性系统,是一个资金技术密集型、劳动密集型、智力密集型的项目。我国拥有广阔的市场和丰富的人才资源,有几十年的技术积累和经验积累,有一定的后发优势管理信息系统的创新工作既不能妄自菲薄,更不能夜郎自大。要抓住当前网络经济兴起的有利时机,以实现我国信息技术和信息产业的跨越式发展,更好地发挥信息产业对国民经济增长的拉动作用。开发学校排课管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教师管理实践活动两者之间架设桥梁。关键字:排课管理,管理信息系统,数据库,计算机管理第一章引言对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例.背景如今随着教育事业的发展,学校对教师课程安排的复杂度的增加,一个单位,各个学科每天的课程安排以及教室资源的分配,排课工资等信息量将迅速的增加,传统的手工的处理方式已经跟不上信息爆炸般的扩增.所以开发一种可靠,高效的教师排课管理系统是很有必要的.开发排课管理系统的目的与原则排课管理系统的主要目的是服务与中小学,各高校的管理者,方便其管理本校排课信息的软件系统.其原则是做到,界面友好人性,操作简单,可靠.本教师管理系统的开发平台为微软windowsxpvisualbasic以及微软的Access作为操作数据库.1.3.2数据库设计工具一一ACCESS数据库管理系统MicrosoftAccess介绍:使用?Microsoft?Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft?Access?将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。第二章系统设计系统分析本排课管理系统主要由以下几大模块构成.教职员入库信息.排课管理教职员带课查询本学期课程设置打印课程表打印教师代课表系统流程和操作方式设计第三章系统界面设计系统界面设计1.登陆界面代码分析:OptionExplicitPublicLoginSucceededAsBooleanPrivateSubcmdCancel_Click()'settheglobalvartofalse'todenoteafailedloginLoginSucceeded=FalseUnloadfmStartEndSubPrivateSubcmdOK_Click()'checkforcorrectpasswordIftxtPassword="password"Then'placecodetoheretopassthe'successtothecallingsub'settingaglobalvaristheeasiestLoginSucceeded=TrueElseMsgBox"InvalidPassword,tryagain!",,"Login"SendKeys"{Home}+{End}"EndIfEndSubPrivateSubForm_Load()LoadfmStartEndSub2.教职员入库信息界面:代码分析:DimconAsDimrsAsCommand1(0).EnabledCommand1(0).Enabled=TrueCase2:Case2:Command1(0).Enabled=TrueDimqrsAsDimslSqlAsStringDimi,jAsIntegerDimstrBak(2)AsStringDimsqlStrAsStringPrivateSubCommand1_Click(IndexAsInteger)OnErrorGoToErr:DimcnAsIntegerForcn=0To2Text1(cn).Text=""NextcnIf>0ThenSelectCaseIndexCase0:Case1:Command1(2).Enabled=TrueCommand1(3).Enabled=TrueCommand1(1).Enabled=TrueCase3:EndSelectdisplayInfoEndIfGoTook:Err:CalldataOverok:EndSubPrivateSubdataOver()IfThenCommand1(0).Enabled=FalseCommand1(1).Enabled=FalseCommand1(2).Enabled=TrueCommand1(3).Enabled=TrueElseIfThenCaseCase#:")Ifj=vbYesThenCalltoNullEndIfCase2:Case3:IfLen(LTrim$(RTrim$(Text1(0).Text)))>0ThenFori=0To2IfLen(LTrim$(RTrim$(Text1(i).Text)))>0Then(i)=Text1(i).TextEndIfNextiElseMsgBox"姓名不得为空",vbOKOnly+vbExclamation,"Error"EndIfFori=0To2Text1(i).Text=strBak(i)NextiCallCommand2_Click(3)EndSelectExitSuberrDeal:MsgBox"databaseError",vbExclamation+vbOKOnly,"error"'okEnd:EndSubPrivateSubCanSave(okAsBoolean)=Notok=okFori=0To4Ifi<3ThenCommand2(i).Enabled=NotokElseCommand2(i).Enabled=okEndIfNextiEndSubPrivateSubForm_Load()DimcntAsIntegerSetcon=NewSetrs=NewSetqrs=NewadLockOptimistic"select*fromteacher",con,adOpenStatic,adLockOptimisticIf>0ThendisplayInfoCanSave(False)Else'newdataCanSave(True)CallCommand2_Click(0)EndIfEndSubPrivateSubdisplayInfo()i=j=0Fori=0To2'Text1(i).Text=""IfLen(i))>0ThenText1(i).Text=(i)strBak(i)=Text1(i).TextEndIfNextiEndSubPrivateSubtoNull()Fori=0To2Text1(i).Text=""strBak(i)=""NextiEndSubPrivateSubForm_Unload(CancelAsInteger)OnErrorGoToKKSetrs=NothingSetqrs=notingSetcon=NothingKK:EndSubPrivateSubqueryComm_Click()slSql="select*fromTeacherwherecTrname='"+Text1(3).TextslSql,con,adOpenStaticIfNotTheni=j=0Fori=0To2'Text1(i).Text=""IfLen(i))>0ThenText1(i).Text=(i)strBak(i)=Text1(i).TextEndIfNextiEndIfEndSub3.排课管理界面代码分析:OptionExplicitDimconnAsDimrsTrAsDimrsSjAsDimi,j,sjCntAsIntegerDimClassCodeAsStringDimTrChanged,ClassChangedAsBooleanDimstrSqlAsStringDimrsTrAryAsDimrsClassAryAsDimStrTr(9)AsStringDimstrSj(49)AsStringDimminht,maxHtAsIntegerPrivateSubEnableSave(okAsBoolean)DimkAsIntegerFork=0To3Ifk<2Thencb(k).Enabled=NotokElsecb(k).Enabled=okEndIfNextk=Notok=ok=okEndSubPrivateSubcb_Click(IndexAsInteger)=11OnErrorGoToerrDealSelectCaseIndexCase0:ClassCode=Trim(Combo1(0).Text)&"."&Trim(Combo1(1).Text)IfLen(Trim(Combo1(0).Text))>0AndLen(ClassCode)>1ThenCalldisplayInfocb(1).Enabled=TrueEndIfCase1:cb_Click(0)EnableSave(True)cb(1).Enabled=FalseCase2:IfTrChangedThenstrSql="delete*fromtrclasswherecclasscode='"&ClassCode&"'"strSqlDimstrTrNameAsStringFori=0TosjCnt-1strTrName=Trim(Combo2(i).Text)IfLen(strTrName)>0ThenstrSql="insertintotrclassvalues('"&ClassCode&"',"+"'"+Trim(Label2(i).Caption)+"',"+"'"+Trim(Combo2(i).Text)+"')"'=strSqlstrSqlEndIfNextiTrChanged=Falsecb(1).Enabled=FalseEndIfIfClassChangedThen"delete*fromclassarraywherecclasscode='"&ClassCode&"'"DimX,YAsIntegerFori=0To49Y=iMod5+1X=Int(i/5)+1IfLen(Trim(Combo3(i).Text))>0ThenstrSql="insertintoclassarrayvalues('"&ClassCode&"',"&Y&","&X&",'"&Trim(Combo3(i).Text)&"')"'=strSqlstrSqlEndIfNextiClassChanged=FalseEndIfEnableSave(False)Case3:Fori=0TosjCnt-1Combo2(i).Text=Combo2(i).TagNextiFori=0To49Combo3(i).Text=Combo3(i).TagNextiEnableSave(False)cb(1).Enabled=FalseEndSelectGoTookerrDeal:MsgBox"ErrorUnknown"ok:=0EndSubPrivateSubdisplayInfo()Forj=0TosjCnt-1strSql="selectcteacherfromtrclasswherecclasscode='"&ClassCode&"'andcsubject='"&Trim(Label2(j).Caption)&"'"'=strSql'=strSqlSetrsTrAry=(strSql)'DimtpRsAs'SettpRs=("selectcteacherfromtrclasswherecclasscode='"&ClassCode&"'andcsubject='"&Trim(Label2(j).Caption)&"'")'="####"&strSql&"####"'WhileNot'=+(0)'Wend'这里用另一种方法创建recordset'rsTrAry.IfNotThen,Combo2(j).Text=(0)'rsTrAry!cteacherCombo2(j).Tag=(0)'rsTrAry!cteacher'EnableSave(False)ElseMsgBox"nodata",vbOKOnlyCombo2(j).Text=""Combo2(j).Tag=""'EnableSave(True)'''''''''''''''''''''''''''这里语句可能出错EndIfNextjFori=0To49DimX,YAsIntegerX=Int(i/5+1)Y=iMod5+1&ClassCode&strSql="selectcsjnamefromclassarraywherecclasscode='""'anditimew="&Y&"anditimen="&ClassCode&'=strSql'strSql,conn,adOpenStatic,adLockOptimisticSetrsClassAry=(strSql)IfNotThenCombo3(i).Text=(0)Combo3(i).Tag=(0)'EnableSave(False)ElseCombo3(i).Text=""Combo3(i).Tag=""'EnableSave(True)EndIfNextiEndSubPrivateFunctionTrim(strAsString)AsStringTrim=LTrim$(RTrim$(str))EndFunctionPrivateSubCombo2_Change(IndexAsInteger)TrChanged=TrueEndSubPrivateSubCombo3_Change(IndexAsInteger)ClassChanged=TrueEndSub

PrivateSubCommand1_Click()=TrueEndSubPrivateSubForm_Load()=11Setconn=NewSetrsTr=NewSetrsSj=NewSetrsTrAry=NewadLockOptimisticadLockOptimisticSetrsClassAry=NewadLockOptimisticadLockOptimistic"select*fromteacher",conn,adOpenStatic,"select*fromsubject",conn,adOpenStatic,minht=4090maxHt=9000sjCnt=CallcomboInitEnableSave(False)cb(1).Enabled=False'="<<"=minht=0EndSubPrivateSubcomboInit()DimtrCntAsIntegertrCnt=Combo1(0).Text=""Combo1(1).Text=""Fori=1To12Combo1(0).AddItem(i)NextiFori=1To20Combo1(1).AddItem(i)NextiFori=0To9Combo2(i).Text=""Ifi<sjCntThenLabel2(i).Caption=rsSj!csjnameElseLabel2(i).Visible=FalseCombo2(i).Visible=FalseEndIfLabel3(i).Caption=i+1NextiFori=0TosjCnt-1Ifi>0ThenForj=0TotrCnt-1'thelastmodifiedhereCombo2(i).List(j)=Combo2(0).List(j)NextjElseWhileNotCombo2(i).AddItem(0))WendEndIfNextiFori=0To49Combo3(i).Text=""Forj=0TosjCnt-1Combo3(i).AddItem(Label2(j).Caption)NextjNextiEndSubPrivateSubForm_Resize()=--520EndSubPrivateSubForm_Unload(CancelAsInteger)OnErrorGoToErr:SetrsTr=NothingSetrsSj=NothingSetrsTrAry=NothingSetrsClassAry=NothingSetconn=NothingErr:EndSubPrivateSubTimer1_Timer()If=">>"ThenIf<maxHtThen=+150Else=False="<<"="收起课程表!"=maxHt=False=RGB(255,255,255)=RGB(0,100,200)EndElseIfIf>minhtThen=-150Else=False=">>"="课程表在这里!"=minht=TrueEndIfEndIfEndSubPrivateSubTimer2_Timer()Staticr,g,bAsInteger'r=100'g=50'b=20=RGB(r,g,b)=RGB(255-r,255-g,255-b)r=r+15g=g+39b=b+87Ifr>255Thenr=0EndIfIfg>255Theng=0EndIfIfb>255Thenb=0EndIfEndSub4.教职员带课查询界面设计:代码分析:OptionExplicitDimconnAsDimrsAsDimrsTrAsDimi,j,value,idxAsIntegerDimstrName,strSqlAsStringPrivateTypeDataGetclassAsStringSjnameAsStringTwAsIntegerTnAsIntegerEndTypePrivateSubCommand1_Click()OnErrorGoTobnEnd=11DimsSqlAsStringDimdgUseAsDataGet'SelectCaseIndex'Case0:CallClearCombostrName=LTrim$(RTrim$)IfLen(strName)>0ThensSql=sSql=strSql&&strName&Setrs=(sSql)IfNotThenWhileNot=(0)=(1)=(2)=(3)idx=-1)*5+-1Combo3(idx).Visible=TrueCombo3(idx).AddItem&"班")Combo3(idx).AddItemCombo3(idx).Text=Combo3(idx).List(value)WendElseMsgBox"没有得到相关数据,请检查",vbOKOnly+vbInformation,"数据捕捉"EndIfDimlcntAsIntegerForlcnt=0To49IfCombo3(lcnt).ListCount>2Then=11=11Combo3(lcnt).BackColor=RGB(200,255,255)Combo3(lcnt).AddItem("注意有重课")EndIfNextlcntElseMsgBox"请输入或选择一教职员姓名",vbInformation+vbOKOnly,"查询输入"EndIf'EndSelectbnEnd:=0EndSubPrivateSubClearCombo()Fori=0To49Combo3(i).BackColor=RGB(255,255,255)Combo3(i).Text=""Combo3(i).Visible=FalseCombo3(i).ClearNextiEndSubPrivateSubForm_Load()OnErrorGoToKKaSetconn=NewSetrsTr=("selectctrnamefromteacher")Fori=0To9Label3(i).Caption=i+1NextiWhileNot(0))WendCallClearCombostrSql="select,,,"+_"fromteacher,trclass,classarray"+"where=and="+_"and=and="'select,,,'Fromteacher,trclass,classarray'Where=And='and='strSql="select,,,"+_"fromteacherjointrclasson=joinclassarray"+〃1〃"on=where="value=0GoTookKKa:MsgBox"ErrorUnknown"ok:=0EndSubPrivateSubForm_Unload(CancelAsInteger)OnErrorGoToKK:Setrs=NothingSetrsTr=NothingSetconn=NothingKK:EndSubPrivateSubOpn_Click(IndexAsInteger)value=IndexCallCommand1_ClickEndSub本学期课程设置界面设计:代码分析:OptionExplicitDimconAsDimrsAsDimstr(9)AsString'DimstrSqlAsStringPrivateSubcn_Click(IndexAsInteger)'OnErrorGoToex:DimlcntAsIntegerDimstrTxtAsStringSelectCaseIndexCase0:CanSave(True)Case1:("delete*fromsubject")Forlcnt=0To9strTxt=Trim$(LTrim$(Txt(lcnt).Text))IfLen(strTxt)>0Thenrs!csjname=strTxtEndIfNextlcntCanSave(False)Case2:Forlcnt=0To9Txt(lcnt)=str(lcnt)NextlcntCanSave(False)EndSelectExitSubex:MsgBox"databaseerror",vbOKOnly+vbExclamation,"error"EndSubPrivateSubForm_Load()'strSql="insertintosubjectvalues('"Setcon=NewSetrs=NewCallclearTxtCanSave(False)"select*fromsubject",con,adOpenStatic,adLockOptimisticCalldisplayInfoEndSubPrivateSubCanSave(bSaveAsBoolean)=bSavecn(1).Enabled=bSavecn(2).Enabled=bSavecn(0).Enabled=NotbSaveEndSubPrivateSubdisplayInfo()DimlcntAsIntegerlcnt=0While(NotAndlcnt<10)Txt(lcnt).Text=rs!csjnamestr(lcnt)=Txt(lcnt).Textlcnt=lcnt+1WendEndSubPrivateSubclearTxt()DimlcntAsIntegerForlcnt=0To9Txt(lcnt).Text=""NextlcntEndSubPrivateSubForm_Unload(CancelAsInteger)Setrs=NothingSetcon=NothingEndSub打印课程表界面设计:临时课表DimctConAsDimctrsAs'classArray表DimcaconAsDimcarsAsDimsqlStrAsStringDimClassCodeAsStringDimwStr(5)AsStringPrivateSubclearStr()Fori=1To5wStr(i)=""NextiEndSubPrivateSubUpdate_ct()'删除所有以前的记录("delete*fromtempCT")'更新表&ClassCode&"'"&sqlStr="select*fromclassArraywherecclasscode='"&ClassCode&"'"&sqlStrsqlStr,cacon,adOpenStatic,adLockOptimisticDimiAsIntegeri=1clearStrWhile(NotWhilecars!iTimeN<>i'添加一条课程记录strSql="insertintotempCTvalues("&i&","+"'"+wStr(1)+"',"+"'"+wStr(2)+"',"+"'"+wStr(3)+"',"+"'"+wStr(4)+"',"+"'"+wStr(5)+"')"strSqlclearStri=i+1WendwStr(cars!iTimeW)=cars!csjnameWend'添加一条课程记录strSql="insertintotempCTvalues("&i&","+"'"+wStr(1)+"',"+"'"+wStr(2)+"',"+"'"+wStr(3)+"',"+"'"+wStr(4)+"',"+"'"+wStr(5)+"')"strSqlclearStrWhilei<10'添加一条课程记录strSql="insertintotempCTvalues("&i&","+"'"+wStr(1)+"'+"'"+wStr(2)+"',"+"'"+wStr(3)+"',"+"'"+wStr(4)+"',"+"'"+wStr(5)+"')"strSqli=i+1WendEndSubPrivateSubCommand1_Click()ClassCode=Trim&"."&TrimCallUpdate_ctUnloadMeEndSubPrivateSubForm_Load()Fori=1To12(i)NextiFori=1To20(i)NextiSetcacon=NewSetcars=NewSetctCon=NewSetctrs=NewEndSubPrivateSubForm_Unload(CancelAsInteger)Setcars=NothingSetcacon=NothingSetctrs=NothingSetctCon=NothingEndSub打印教师代课表界面设计:代设计:'临时教师代课表DimttConAsDimttrsAs'trClass表DimtrconAsDimtrrsAsDimsqlStrAsStringDimtrnameAsStringDimwStr(5)AsStringDimclStr(5)AsStringPrivateSubclearStr()Fori=1To5wStr(i)=""NextiEndSubPrivateSubUpdate_tt()"delete*fromtempTT"strSql="select,,,"+_"fromteacher,trclass,classarray"+"where=and="+_"and=and="+"'"+trname+"'"+"orderbyiTimeN"strSqlstrSql,trcon,adOpenStatic,adLockOptimisticDimiAsInteger=1clearStrWhileNotWhiletrrs!iTimeN<>istrSql="insertintotempTTvalues("&i&","+"'"+wStr(1)+"',"+"'"+wStr(2)+"',"+"'"+wStr(3)+"',"+"'"+wStr(4)+"',"+"'"+wStr(5)+_"','"+clStr(1)+"',"+"'"+clStr(2)+"',"+"'"+clStr(3)+"',"+"'"+clStr(4)+"',"+"'"+clStr(5)+"')"strSqlclearStri=i+1WendwStr(trrs!iTimeW)=trrs!csubjectclStr(trrs!iTimeW)=trrs!cClassCodeWendstrSql="insertintotempTTvalues("&i&","+"'"+wStr(1)+"',"+"'"+wStr(2)+"',"+"'"+wStr(3)+"',"+"'"+wStr(4)+"',"+"'"+wStr(5)+_"','"+clStr(1)+"',"+"'"+clStr(2)+"',"+"'"+clStr(3)+"',"+"'"+clStr(4)+"',"+"'"+clStr(5)+"')"strSqlclearStrWhilei<10i=i+1strSql="insertintotempTTvalues("&i&","+"'"+wStr(1)+"',+"'"+wStr(2)+"',"+"'"+wStr(3)+"',"+"'"+wStr(4)+"',"+"'"+wStr(5)+_"','"+clStr(1)+"',"+"'"+clStr(2)+"',"+"'"+clStr(3)+"',"+"'"+clStr(4)+"',"+"'"+clStr(5)+"')"strSqlWendEndSubPrivateSubCommand1_Click()trname=TrimCallUpdate_ttUnloadMeEndSubPrivateSubForm_Load()SetttCon=NewSetttrs=NewSettrcon=New

trrs=NewSettrrstrrs=NewEndSubPrivateSubForm_Unload(CancelAsInteger)SetSetSetSetttrs=NothingttCon=Nothingtrrs=NothingtrconSetSetSetSetEndSub第四章数据库的设计数据库设计信息表表:表:4.班级表:数据库概念和发展关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就就是关系模型。关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。结构化查询语言SQL(StrueturedQueryLanguage)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操

温馨提示

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

评论

0/150

提交评论