(论文)车辆管理系统设计(2013年优秀毕业设计论文)_第1页
(论文)车辆管理系统设计(2013年优秀毕业设计论文)_第2页
(论文)车辆管理系统设计(2013年优秀毕业设计论文)_第3页
(论文)车辆管理系统设计(2013年优秀毕业设计论文)_第4页
(论文)车辆管理系统设计(2013年优秀毕业设计论文)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

车辆管理系统目 录摘要 .2关键词2第一章 概述. 2第二章 系统分析2 2.1系统目标 3 2.2 功能分析 3 2.3系统流程3第三章 系统设计.2 3.1系统功能结构设计.2 3.2数据库设计.3第四章 公用模块设计.6第五章 系统登录.6第六章 MDI主窗口设计 .7第七章 主要功能模块详细设计.9 7.1车辆档案录入.9 7.2车辆运营列表13 7.3车辆运营查询16 7.4车辆事故列表18 7.5车辆违章列表22 7.6车辆维修列表26 7.7驾驶员奖罚30第八章 数据库备份和恢复.33 8.1数据库备份设计.33 8.2 数据库恢复设计.34第九章 结束语.34参考文献.36摘要:随着计算机技术的迅速发展,计算机已经渗透到了各个应用领域。尤其是车辆的逐年增多和车辆的信息增加,车辆的管理不能够由传统的人工管理来进行管理,所以必须运用到计算机来进行管理。本车辆管理系统的完成就是基于VB应用程序和Access2000数据库,能够通过VB窗口对数据库进行操作。系统采用服务器(Server)形式,既方便实现车辆信息的查询,而且也大大提高了程序的可维护性和重复利用性。关键词: VB程序设计,Access2000数据库,车辆管理.第一章 概述随着我国经济的快速发展,人民生活水平的提高,以及人们的对物资的购买力提高,汽车已成为人们不可缺少的交通工具。特别是对于拥有大量车辆的机关企事业单位来说,车辆的管理已成为日常事务中的一项重要的工作,为了如何让管理人员及时了解每一辆车的情况,提高车辆的使用效率,减少费用支出,成为各个单位需要解决的一个难题,为了规范企业内部的管理,提高企业管理质量,更好的服务于广大的客户的情况下,我们必须要开发一套专门用于车辆管理的系统,可以集中管理车辆的运营,维修,事故,违章等一系列的信息,使企业进入车辆管理信息化,科学化。同时也可以节省人力,物力,财力。第二章 系统分析 (1)系统目标 针对相关车辆管理的情况,车辆管理系统要达到的目标: *由人工管理过渡到机械自动化,系统化,规范化管理。 *违章车辆,事故车辆及车辆的维修费用一目了然。*及时掌握车辆的运营情况,提高车辆的利用效和经济益。 (2)功能分析 系统功能分析是在系统开发总体任务的基础下完成的。车辆管理系统功能主要包括:档案管理,运营管理,车辆管理,驾驶员管理,系统维护等功能。 * 车辆档案录入,车辆档案查询,车辆异动,车辆异动查询,车辆报废,车辆报废查询。 * 车辆运营管理,车辆运营查询,清空运营列表。 * 车辆维修管理,车辆维修查询,添加零件,车辆违章管理,车辆违章查询,车辆事故管理,车辆事故查询。 * 驾驶员档案,驾驶员档案查询,驾驶员奖罚。 * 系统初始化,管理员设置,数据备份,数据恢复。(3)系统流程 系统登陆管理员普通管理员系统初始化管理员设置清空运营表驾驶员档案数据备份数据恢复车辆档案车辆异动车辆运营车辆事故车辆违章车辆维修车辆报废 系统流程图第三章 系统设计 (1)系统功能结构设计 车 辆 管 理 系 统 档案管理车辆档案录入车辆档案查询车辆异动列表车辆异动查询车辆报废车辆报废查询运营管理车辆运营列表车辆运营查询清空运营列表车辆管理车辆维修列表车辆维修查询添加零件车辆违章列表车辆违章查询车辆事故列表车辆事故查询驾驶员档案查询驾驶员档案列表驾驶员奖罚系统初始化管理员设置数据恢复数据备份驾驶员管理系统维护 系统功能结构图 (2)数据库设计 数据库的设计是根据用户的需求和数据是流量的大小来设计,同时结合Access 2000数据库操作方便,简单易学,系统资源占有低,不用数据库服务主持等优点,本系统使用了Access 2000数据库作为后台数据库. 车辆管理系统的数据表有以下表组成:用户表,车辆档案表,车辆报废表,车辆类型表,车辆事故表,车辆违章表,车辆维修表,车辆异动表,车辆运营表,驾驶员档案表,奖罚表,零件表。 1用户表字段名称数据类型字段大小必添字段允许空字符串用户姓名文本20是否 密码文本20否是用户类型文本20是否 2车辆档案表字段名称数据类型字段大小必添字段允许空字符串车牌号码文本10是否车辆类型文本10是否驾驶员编号文本10否是购置日期时间/日期是厂牌型号文本30否是使用人或单位文本30否是车辆所在单位文本30否是年检审文本2否是保险否文本2否是异地否文本2否是报废否文本2否是备注备注否是 3 .车辆报废表字段名称数据类型字段大小必添字段允许空字符串车牌号码文本10是否报废原因文本30否是报废日期时间/日期是经手人文本8否是备注备注否是4. 车辆报废表字段名称数据类型字段大小必添字段允许空字符串 类型文本14否否5.车辆事故表字段名称数据类型字段大小必添字段允许空字符串事故编号文本10是否车辆号码文本10是否车辆类型事故文本14否是事故时间时间/日期是事故概要文本50是否事故确认者文本8是 否公司负担金数字双精度型否保险理赔金数字双精度型否对方赔偿金数字双精度型是否对方姓名文本8是是对付住址文本30否是对方所在单位文本30否是对方损坏程度文本10否是和解内容备注否是6.车辆违章表字段名称数据类型字段大小必添字段允许空字符串车牌号码文本10是否原因文本10是否处罚文本30否是违章时间时间/日期是备注备注否是7.车辆维修表字段名称数据类型字段大小必添字段允许空字符串车牌号码文本10是否更换零件1文本20否是零件1数量数字整型否更换零件2文本20否是零件2数量数字整型否更换零件3文本20否是零件3数量数字整型否维修日期时间/日期是共计费用文本2否是备注备注否是8车辆异动表 字段名称数据类型字段大小必添字段允许空字符串车牌号码文本10是否异动时间时间/日期是异动地点文本30是否经手人文本8否是备注备注是是 9. 车辆运营表字段名称数据类型字段大小必添字段允许空字符串车牌号码文本10是否运营日期日期/时间是运营时间数字整型是否运营收入数字双精度型是是备注数字否是 10. 驾驶员档案表字段名称数据类型字段大小必添字段允许空字符串驾驶员编号文本18是否姓名文本8是否性别文本2是否出生年月日期/时间是驾驶证号文本30是否领证明日期数字证件有效期文本15是否驾龄日期/时间双精度型否准驾车型文本14否是何时参加工作日期/时间否联系电话文本16否是年检记录文本20否是备注备注否是 11. 奖罚表字段名称数据类型字段大小字段大小允许空字符串车牌号码文本8是否姓名文本8是否运营收入数字双精度型否运营次数数字整型否维修费用数字双精度型否违章次数数字整型否事故次数数字整型否日期文本12是否每月得分数字双精度型是每月奖金数字双精度型否 12. 零件表字段名称数据类型字段大小字段大小允许空字符串零件名文本30是否单价数字双精度型否第四章 公用模块设计 为了节省系统资源,必须要新建设一个模块,该模块用于连接各个模块中的数据表,,从而不避免在程序中运用大量的ADO控件,给开发应用程序带来诸多不便.该模块中的程序代码如下: Public adoCon As New ADODB.ConnectionPublic adors As New ADODB.RecordsetPublic Sub main() Set adoCon = New ADODB.Connection adoCon.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb & ;Persist Security Info=False frmLogin.Show frmLogin.Text1.SetFocusEnd Sub第五章 系统登录 系统登录窗口是操作用户进入系统的惟一入口,分为两种权限:管理员权限和普通用户权限.通过在”登录”按钮的Click事件下使用SQL语句判断用户名称,密码和用户类型,进入系统. 操作用户的权限不同的功能模块也不同,管理员可以维护整个系统和系统操纵身分,而普通用户只能对系统各别功能进行操作.* 窗口界面设计 系统等录窗口设计图(1) 新建设又个窗口,设置该窗口的名称为“ frrmlogin”,caption属性为“系统登录”,设置Borderstyle属性为“1-fiexed single”, 在该窗口上依次添加控件。 (2) 在frrmlogin窗口上添加Label,ComboBox控件。 (3) 在窗口上添加Text控件。(4) 程序代码是: Private Sub Command1_Click() If Text3.Text = Then MsgBox 您还没有注册系统用户!, , 系统提示 MDIForm1.Show Unload Me Exit Sub End If Set adors = adoCon.Execute(select * from 用户表 where 用户姓名=ltrim( & Text1 & ) and 密码=ltrim( & Text2 & ) and 用户类型=ltrim( & Combo1.Text & ) If adors.EOF Then MsgBox 您输入的信息有误,请重新输入!, , 系统提示 Text1 = Text2 = Text1.SetFocus i = i + 1 If i = 3 Then MsgBox 对不起,您已无权使用本系统!, , 系统提示 Unload Me End If Else Select Case adors!用户类型 Case 管理员 Case 普通用户 MDIForm1.mnuyydelete.Enabled = False MDIForm1.mnusyscsh.Enabled = False MDIForm1.mnuglyset.Enabled = False End Select MDIForm1.Show adors.Close Unload Me End IfEnd Sub Private Sub Command2_Click() Unload Me adoRs.CloseEnd Sub第六章 MDI主窗口设计 车辆管理系统 主窗口MID的设计采用了多文档界面,即MDI技术.MDI窗口为程序提供了高效,多功能的良好平台,它的应用很广泛. MID主窗口主要是由车辆档案管理,车辆运营管理,驾驶员管理,系统维护等几个大模块来组成的,也是退出系统的惟一出口。 MDI主窗口设计图(1) 程序代码设计*在主窗口菜单 “车辆运营管理”子菜单“清空运营表”的Click事件下添加如下代 码 Private Sub mnuyydelete_Click() If MsgBox(真的要清空运营表吗?, vbOKCancel, 系统提示) = vbOK Then adoCon.Execute (delete from 车辆运营表) Else Exit Sub End IfEnd Sub*在主窗口菜单“系统维护” 子菜单“系统初始化” 的Click事件下添加如下代码: Private Sub mnusyscsh_Click() If MsgBox(执行此命令会清空数据库里所有记录,确实要执行吗?, vbOKCancel, 系统提示) = vbOK Then adoCon.Execute (delete from 车辆档案) adoCon.Execute (delete from 车辆报废表) adoCon.Execute (delete from 车辆事故表) adoCon.Execute (delete from 车辆违章表) adoCon.Execute (delete from 车辆维修表) adoCon.Execute (delete from 车辆异动表) adoCon.Execute (delete from 车辆运营表) adoCon.Execute (delete from 驾驶员档案) adoCon.Execute (delete from 零件表) adoCon.Execute (delete from 用户表) adoCon.Execute (delete from 奖罚表) Else Exit Sub End IfEnd Sub*在 ToolBar控件的索引值调用子窗口,在ToolBar控件的ButtonClick事件下添加如下代码:Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) Select Case ButtonMenu.Index Case 1 Call mnucardacha_Click Case 2 Call mnujsycha_Click Case 3 Call mnucaryycha_Click Case 5 Call mnucarwxcha_Click Case 6 Call mnucarwzcha_Click Case 7 Call mnucarsgcha_Click End Select End Sub 第七章 主要功能模块详细设计(1)车辆档案录入 车辆档案录入操作窗口用于添加,修改,删除车辆信息。车辆档案的添加,修改,删除可以通过ADO对象来实现,也可以通过ADO控件实现,要使用到AddNew,Updateh和 Delete方法。1 窗口界面设计 车辆档案窗口设计图2 程序代码设计*设计一个Lockctl过程使控件不可用,该过程如下:Private Sub Lockctl() Text1.Enabled = False: Combo1.Enabled = False: Combo2.Enabled = False Text4.Enabled = False: Text5.Enabled = False: Text6.Enabled = False Text7.Enabled = False DTPicker1.Enabled = False cmnj.Enabled = False: cmbx.Enabled = False: cmyd.Enabled = False: cmbf.Enabled = FalseEnd SubPrivate Sub Unlockctl() Text1.Enabled = True: Combo1.Enabled = True: Combo2.Enabled = True Text4.Enabled = True: Text5.Enabled = True: Text6.Enabled = True Text7.Enabled = True DTPicker1.Enabled = True cmnj.Enabled = True: cmbx.Enabled = True: cmyd.Enabled = True: cmbf.Enabled = TrueEnd SubDim i As IntegerPrivate Sub Form_Load() frmcardalr.Height = 3075: frmcardalr.Width = 7410 Adodc1.RecordSource = select * from 车辆档案 Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then DTPicker1.Value = Adodc1.Recordset.Fields(购置日期) Adodc2.RecordSource = select * from 车辆类型表 Adodc2.Refresh If Adodc2.Recordset.RecordCount = 0 Then Exit Sub For i = 0 To Adodc2.Recordset.RecordCount - 1 Combo1.AddItem Adodc2.Recordset.Fields(0).Value Adodc2.Recordset.MoveNext Next Adodc3.RecordSource = select * from 驾驶员档案 Adodc3.Refresh If Adodc3.Recordset.RecordCount = 0 Then Exit Sub For i = 0 To Adodc3.Recordset.RecordCount - 1 Combo2.AddItem Adodc3.Recordset.Fields(0).Value Adodc3.Recordset.MoveNext Next On Error Resume Next Combo1.Text = Adodc1.Recordset.Fields(1) Combo2.Text = Adodc1.Recordset.Fields(2)End Sub*在Text1控件的LostFocus事件下,用户添加的“车牌号码”是否与表中的数据重复,其代码为:Private Sub Text1_LostFocus() Dim rs As New ADODB.Recordset Set rs = adoCon.Execute(select * from 车辆档案 where 车牌号码= & Text1.Text If rs.EOF = False Then MsgBox 此车牌号码已经存在!, , 系统提示 Text1 = Text1.SetFocus End If rs.CloseEnd Sub*在“添加”按钮的Click事件下添加代码为:Private Sub cmdAdd_Click() Unlockctl DTPicker1.Value = Format(Now, yyyy-mm-dd) Text1 = : Text2 = : Combo2 = : Text4 = : Text5 = : Text6 = : Text7 = Combo1.Text = cmnj.Text = 是 cmbx.Text = 是 cmyd.Text = 是 cmbf.Text = 是 Text1.SetFocus cmdOk.Enabled = True: cmdCancel.Enabled = True cmdDelete.Enabled = False: Combo1.Visible = True Adodc1.Enabled = False: cmdUpdate.Enabled = False i = 1 End Sub*在“修改” 按钮的Click事件下添加代码为:Private Sub cmdUpdate_Click() Unlockctl i = 2 cmdOk.Enabled = True: cmdCancel.Enabled = True cmdAdd.Enabled = False: cmdDelete.Enabled = False Adodc1.Enabled = False: Text1.Enabled = False End Sub* 在“删除”的按钮的Click事件下添加代码为:Private Sub cmdDelete_Click() If MsgBox(您确实要删除记录吗?, vbOKCancel, 系统提示) = vbOK Then adoCon.Execute (delete from 车辆档案 where 车牌号码= & Text1 & ) MsgBox 记录已删除!, , 系统提示 Adodc1.Refresh End IfEnd Sub* 在“确定” 的按钮的Click事件下添加代码为:Private Sub cmdOk_Click() Select Case i Case 1 If Text1 = Then MsgBox 车牌号码不能为空, , 系统提示 Text1.SetFocus Exit Sub End If If Combo1.Text = Then MsgBox 车辆类型不能为空, , 系统提示 Combo1.SetFocus Exit Sub End If If DTPicker1.Value = Then MsgBox 购置日期不能为空, , 系统提示 DTPicker1.SetFocus Exit Sub End If adoCon.Execute (insert into 车辆档案 values ( & Text1 & , & Combo1 & , & Combo2 & , & DTPicker1.Value & , & Text7 & , & Text4 & , & Text5 & , & cmnj & , & cmbx & , & cmyd & , & cmbf & , & Text6 & ) MsgBox 记录添加成功!, , 系统提示 Adodc1.Refresh Case 2 adoCon.Execute (update 车辆档案 set 车辆类型= & Combo1 & ,驾驶员编号= & Combo2 & ,使用人或单位= & Text4 & ,车辆所在单位= & Text5 & ,备注= & Text6 & , 厂牌型号= & Text7 & ,购置日期= & DTPicker1.Value & ,年检审= & cmnj.Text & ,保险否= & cmbx.Text & ,异动否= & cmyd.Text & ,报废否= & cmbf.Text & where 车牌号码= & Text1 & ) MsgBox 记录修改成功!, , 系统提示 Adodc1.Refresh End Select Lockctl cmdOk.Enabled = False: cmdCancel.Enabled = False cmdAdd.Enabled = True: cmdUpdate.Enabled = True cmdDelete.Enabled = True: Adodc1.Enabled = TrueEnd Sub* 在“取消” 的按钮的Click事件下添加代码为:Private Sub cmdCancel_Click() On Error Resume Next 当没有添加数据的时候 处理异常 Adodc1.Recordset.CancelUpdate Adodc1.Refresh Lockctl cmdOk.Enabled = False: cmdCancel.Enabled = False cmdAdd.Enabled = True: cmdUpdate.Enabled = True cmdDelete.Enabled = True: Adodc1.Enabled = TrueEnd Sub(2)车辆运营列表 车辆运营列表窗口用于添加,修改,删除车辆运营信息,通过Adodc控件实现车辆档案信息的添加,修改,删除的过程。1 窗口界面设计 车辆运营列表窗口设计图2 程序代码设计l 设计一个Lockctl过程使控件不可用,该过程为:Private Sub Lockctl() Text1.Enabled = False: Text2.Enabled = False Text3.Enabled = False: Text4.Enabled = False DTPicker1.Enabled = FalseEnd Sub* 设计一个Lockctl过程使控件可用,该过程为:Private Sub Unlockctl() Text1.Enabled = True: Text2.Enabled = True Text3.Enabled = True: Text4.Enabled = True DTPicker1.Enabled = TrueEnd Sub* 在代码窗口中定义数值型变量,作为保存或修改操作的开关变量Dim i As Integerl 在窗口Load事件下添加代码:Private Sub Form_Load() frmcarYYlr.Height = 2070: frmcarYYlr.Width = 7755 Adodc1.RecordSource = select * from 车辆运营表 Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then DTPicker1.Value = Adodc1.Recordset.Fields(运营日期).ValueEnd SubPrivate Sub Text1_LostFocus() If Text1.Text = Then Exit Sub Dim rss As New ADODB.Recordset Dim rss1 As New ADODB.Recordset Dim rss2 As New ADODB.Recordset 此车是否是本公司的 Set rss = adoCon.Execute(select * from 车辆档案 where 车牌号码= & Text1.Text & ) If rss.EOF Then MsgBox 这辆车不属于本公司的!, , 系统提示 Text1.Text = Text1.SetFocus Exit Sub End If rss.Close 此车是否报废了 Set rss1 = adoCon.Execute(select * from 车辆报废表 where 车牌号码= & Text1.Text & ) If rss1.EOF Then Else MsgBox 此车已经报废,不能参加运营!, , 系统提示 Text1.Text = Text1.SetFocus Exit Sub End If rss1.Close 此车是否异动了 Set rss2 = adoCon.Execute(select * from 车辆异动表 where 车牌号码= & Text1.Text & ) If rss2.EOF Then Else MsgBox 此车为“异动车辆”不能参加运营!, , 系统提示 Text1.Text = Text1.SetFocus Exit Sub End If rss2.CloseEnd Sub* 在“添加”按钮的Click事件下,通过ADO控件的NDDNEW方法开辟存储数据的空间,其代码为:Private Sub cmdAdd_Click() Unlockctl Adodc1.Recordset.AddNew Text1 = : Text2 = Text3 = : Text4 = Text1.SetFocus cmdok.Enabled = True: cmdCancel.Enabled = True cmdUpdate.Enabled = False: cmdDelete.Enabled = False Adodc1.Enabled = False i = 1End Subl 在“修改” 按钮的Click事件下,添加代码为:Private Sub cmdUpdate_Click() Unlockctl Text1.Enabled = False i = 2 cmdok.Enabled = True: cmdCancel.Enabled = True cmdAdd.Enabled = False: cmdDelete.Enabled = False Adodc1.Enabled = FalseEnd Subl 在“删除” 按钮的Click事件下,通过ADO控件的NDDNEW方法删除数据,其代码为:Private Sub cmdDelete_Click() If MsgBox(您确实要删除记录吗?, vbOKCancel, 系统提示) = vbOK Then Adodc1.Recordset.Delete MsgBox 记录已删除!, , 系统提示 Adodc1.Refresh End IfEnd Subl 在“确定” 按钮的Click事件下,添加代码为:Private Sub cmdOk_Click() Select Case i Case 1 If Text1.Text = Then MsgBox 车牌号码不能为空!, , 系统提示 Text1.SetFocus Exit Sub End If If Text2.Text = Then MsgBox 运营时间不能为空!, , 系统提示 Text2.SetFocus Exit Sub Text3.SetFocus End If If Text3.Text = Then MsgBox 运营收入不能为空!, , 系统提示 Text3.SetFocus Exit Sub End If Adodc1.Recordset.Fields(1) = DTPicker1.Value Adodc1.Recordset.Update MsgBox 记录添加成功!, , 系统提示 Case 2 Adodc1.Recordset.Update MsgBox 记录修改成功!, , 系统提示 End Select Lockctl cmdok.Enabled = False: cmdCancel.Enabled = False cmdAdd.Enabled = True: cmdUpdate.Enabled = True cmdDelete.Enabled = True: Adodc1.Enabled = TrueEnd Subl 在“取消” 按钮的Click事件下,通过ADO控件CancelUpdate方法撤消对当前记录所作的任何更改或放弃新添加的记录,其代码为:Private Sub cmdCancel_Click() On Error Resume Next 当没有添加数据的时候 处理异常 Adodc1.Recordset.CancelUpdate Adodc1.Refresh Lockctl cmdok.Enabled = False: cmdCancel.Enabled = False cmdAdd.Enabled = True: cmdUpdate.Enabled = True cmdDelete.Enabled = True: Adodc1.Enabled = TrueEnd Sub(3)车辆运营查询车辆运营查询窗口主要完成按长牌号码,运营日期和运营时间来查询车辆运营情况。运营日期段和运营时间段查询功能的实现主要使用了SQL中的Between.And语句.1 窗口界面设计 车辆运营查询窗口设计图2 程序代码设计l 设计一个Rebind过程,用于显示表中所以数据:Private Sub Rebind() Frame2.Caption = 车辆运营列表 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & clgl.mdb & ;Persist Security Info=False Adodc1.RecordSource = select * from 车辆运营表 Adodc1.RefreshEnd Subl 设计一个QingKong过程。用于显示查询结果数据:Private Sub QingKong() Frame2.Captio

温馨提示

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

评论

0/150

提交评论