仓库管理信息系统报告.doc_第1页
仓库管理信息系统报告.doc_第2页
仓库管理信息系统报告.doc_第3页
仓库管理信息系统报告.doc_第4页
仓库管理信息系统报告.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 报 告 课程设计名称 .NET课程设计 专 业 计算机科学与技术 班 级 7 班 学 号 10030716 姓 名 潘 建 康 指导教师 吴 海 燕 成 绩 2013年7月12日.Net课程设计仓库管理信息系统目 录一、设计任务与要求11.1 总体目标与任务要求11.2 选题目的与意义11.3 团队介绍和人员分工1二、系统需求分析22.1 用户需求分析22.2 功能需求分析22.3 系统需求分析3三、系统总体设计33.1 系统结构设计33.2 功能模块划分33.3 数据库设计4四、系统详细设计54.1 数据库连接54.2 用户信息管理模块设计54.3 物品信息管理模块设计64.4 进货人信息管理模块设计64.5 收货人信息管理模块设计64.6 查询信息管理模块设计7五、程序实现75.1 用户信息管理模块实现75.1.1 程序流程图75.1.2关键算法与技术实现85.2 物品信息管理模块实现105.2.1 程序流程图105.2.2关键算法与技术实现115.3 进货人信息管理模块实现145.3.1 程序流程图145.3.2关键算法与技术实现165.4 收货人信息管理模块实现175.4.1 程序流程图175.4.2关键算法与技术实现195.5 查询信息管理模块实现205.5.1 程序流程图205.3.2关键算法与技术实现22六、系统测试运行256.1 测试工具方法256.2 功能测试结果266.3 测试结果分析41七、设计体会427.1 分析设计评价427.2 经验与体会42主要参考文献42一、设计任务与要求1.1 总体目标与任务要求在仓库管理信息系统中,需要从大量的日常仓库存取中提取相关信息,以反映库存情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。仓库管理信息系统是针对企业仓库货品的出入库登记和查询统计等方面工作而开发的管理软件,是一个非常实用的管理信息系统。管理者可以通过相应的模块,对仓库里的物资的基本情况进行修改、删除和查询,对物资的入库和出库进行管理等其他系统设计实现的管理系统能够正确有效地完成仓库管理的日常工作,并能够根据需要进行灵活的查询。系统与数据库管理系统紧密结合,为仓库管理提供了功能较为强大的数据安全功能。1.2 选题目的与意义仓库信息管理系统以计算机为工具,通过对出库、入库、库存等所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,把仓库管理的井井有条,便于统计,结构清晰。本课程设计目的是培养学生在Visual Studio.NET开发环境下利用面向对象的编程语言C#开发一个Windows应用程序的能力。通过开发一个功能完善具有实际价值的管理信息系统,让学生全面实践本课程所学的编程知识,包括对C#编程语言的掌握与应用、VS.NET开发环境下的各种工具的运用、Windows环境下的数据库编程、实际工程中数据结构和算法思想的基本实现等。1.3 团队介绍和人员分工成员介绍:潘建康:项目组长,善于统筹协调,能够对当前情况进行全面分析,并合理制定下一阶段项目计划;文档纂写能力较强。桂 宏:程序员,逻辑思维能力较强,善于发现问题,解决问题,并能把想法与实际相结合,合理评估技术可行性。宋俊毅:组员,进行程序所需的需求分析,具有良好的团队合作精神。分工情况:潘建康:负责软件整体架构的设计、总体任务的分配、调度及最终文档的纂写,UI界面的设计者,并完成界面最终的优化。桂 宏:负责软件功能的评估、设计与实现。宋俊毅: 负责软件所需的资料的收集和查询部分代码,并完成最终的软件测试工作。二、系统需求分析2.1 用户需求分析 仓库管理信息系统能实现各个仓库的实际需要,设定不同的仓库管理系统的功能,实现物资信息的登记、入库登记、出库登记等任务。管理者可以通过相应的模块,对仓库里的物资的基本情况进行修改、删除和查询,对物资的入库和出库进行管理,对出入库的物资进行查询,并能生成相应的报表,对使用该系统的用户进行修改、添加等,查询等其他系统设计实现的管理系统能够正确有效地完成仓库管理的日常工作,并能够根据需要进行灵活的查询。系统与数据库管理系统紧密结合,为仓库管理提供了功能较为强大的数据安全功能。2.2 功能需求分析功能需求可分为五种需求,分别为用户信息管理需求,物品信息管理需求,进货人信息管理需求,收货人信息管理需求,查询信息管理需求,具体内容如图2-1所示。物品信息管理仓库管理信息系统用户信息管理进货人信息管理收货人信息管理查询模块管理用户登录注销登录注册用户物品入库修改物品信息物品出库 添加进货人信息修改进货人信息 删除进货人信息 添加收货人信息修改收货人信息 删除收货人信息 查询仓库物品信息查询出库物品信息查询进货人信息查询收货人信息图2-1 功能模块图2.3 系统需求分析系统开发平台:Microsoft Visual Studio 2005系统开发语言:C#数据库管理软件:SQL Server 2012三、系统总体设计3.1 系统结构设计 本系统有用户信息注册,物品信息管理,进货人信息管理,收货人信息管理,入库管理,出库管理,库存管理,信息查询等重要功能,为仓库管理提供了方便实用的途径。整个系统分为五大模块,具体模块功能图3-1所示:物品信息管理仓库管理信息系统用户信息管理进货人信息管理收货人信息管理查询模块管理用户登录注销登录注册用户物品入库修改物品信息物品出库 添加进货人信息修改进货人信息 删除进货人信息 添加收货人信息修改收货人信息 删除收货人信息 查询仓库物品信息查询出库物品信息查询进货人信息查询收货人信息图3-1 功能模块图3.2 功能模块划分功能模块可分为五个功能模块,分别为用户信息管理模块,物品信息管理模块,进货人信息管理模块,收货人信息管理模块,查询信息管理模块。其中用户信息管理模块包含有用户注册,用户登录,用户注销等功能;物品信息管理模块包含有物品入库,物品出库,修改物品信息等功能;进货人信息管理模块包含有添加进货人信息,删除进货人信息,修改进货人信息等功能;收货人信息管理模块包含有添加收货人信息,删除收货人信息,修改收货人信息等功能;查询功能模块包含有查询物品信息,查询所有物品信息,查询进货人信息,查询出货人信息,查询出库物品信息等功能。3.3 数据库设计 得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出字段的值域约束和数据类型。用户信息表的结构如表3-1所示:表3-1 用户信息表(Users)列 名数据类型长 度说 明UIDchar10用户名(主键)PWDchar10密 码物品信息表的结构如表3-2所示:表3-2 物品信息表(Thing)列 名数据类型长 度说 明idint编号namenvarchar50名称xinghaonvarchar50型号leibienvarchar50类型shuliangint数量timenvarchar50入库时间jinhuorenint进货人编号chuhuorenint出货人编号timelnvarchar50出库时间出库物品信息表的结构如表3-3所示:表3-3 出库物品信息表(Chuku)列 名数据类型长 度说 明idint编号namenvarchar50名称xinghaonvarchar50型号leibienvarchar50类型shuliangint数量timenvarchar50入库时间jinhuorenint进货人编号chuhuorenint出货人编号timelnvarchar50出库时间进货人信息表的结构如表3-4所示:表3-4 进货人信息表(Jinhuo)列 名数据类型长 度说 明idint编号namenvarchar50姓名sexnvarchar10性别phonenvarchar50电话addressint地址出货人信息表的结构如表3-5所示:表3-5 出货人信息表(Chuhuo)列 名数据类型长 度说 明idint编号namenvarchar50姓名sexnvarchar10性别phonenvarchar50电话addressint地址四、系统详细设计4.1 数据库连接 仓库管理信息系统使用的是SQL SERVER 2012,在SQL SERVER中建立了一个名为Depot的数据库,仓库管理信息系统与SQL SERVER 2012中Depot数据库的连接语句为string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Security Info=False;4.2 用户信息管理模块设计进入仓库管理信息系统前需要登录账号,如没有账号则可以注册一个新账号,在注册是得输入两次密码来确认密码的正确性。在进入系统后可以选择退出登录来退到登录界面。在系统中也可以选择修改密码功能,在正确输入用户名和密码后,可以修改密码。用户的信息存在Depot数据库中的Users表中,对应的字段分别为UserName,PassWord。4.3 物品信息管理模块设计进入系统后,用户在物品信息管理模块中可以选择物品入库,物品出库,物品信息修改等功能。如果入库的是一个新物品则需要填写详细的信息,包括编号,名称,型号,类型,数量,进货人等信息。如果是已经存在的物品,则只需填写编号和数量就可以了。物品出库时可以在出库界面上查询关于这个物品的详细信息,可以根据编号和名称来查询。出库时只需填写物品编号,收货人编号,数量就可以了。物品信息查询可以根据编号,名称,型号,类型,进货人等进行查询。物品的信息存在Depot数据库中Thing表中,对应的字段分别为id,name,xinghao,leibia,shuliang,time,jinhuo,shouhuo,time1。4.4 进货人信息管理模块设计进入系统后,用户在进货人信息管理模块中可以选择添加进货人信息,删除进货人信息,修改进货人信息修改等功能。添加进货人信息时需要填写详细的信息,包括编号,姓名,性别,电话,地址等信息。删除进货人信息时可以在删除界面上查询关于这个进货人的详细信息,可以根据编号和名称来查询。删除进货人信息时只需填写进货人编号就可以了。进货人信息查询可以根据编号,姓名等进行查询。进货人的信息存在Depot数据库中Jinhuo表中,对应的字段分别为id,name,sex,phone,address。4.5 收货人信息管理模块设计进入系统后,用户在收货人信息管理模块中可以选择添加收货人信息,删除收货人信息,修改收货人信息修改等功能。添加收货人信息时需要填写详细的信息,包括编号,姓名,性别,电话,地址等信息。删除收货人信息时可以在删除界面上查询关于这个收货人的详细信息,可以根据编号和名称来查询。删除收货人信息时只需填写收货人编号就可以了。收货人信息查询可以根据编号,姓名等进行查询。收货人的信息存在Depot数据库中Jinhuo表中,对应的字段分别为id,name,sex,phone,address。4.6 查询信息管理模块设计进入系统后,用户在查询信息管理模块中可以选择添查询物品信息,查看所有物品信息,查询进货人信息,查询收货人信息,查询出库物品信息等功能。物品信息查询可以根据编号,名称,型号,类型,进货人等进行查询。查看所有物品信息可以看得仓库所有的物品的信息。进货人信息查询可以根据编号,姓名等进行查询。收货人信息查询可以根据编号,姓名等进行查询。查询出库物品信息可以通过编号,名称,型号,类型,进货人,收货人等进行查询。五、程序实现5.1 用户信息管理模块实现5.1.1 程序流程图登 陆有账号账号已存在修改密码NY输入用户名与密码再输入一次密码两次输入相同NY选择操作退出登录输入用户名与密码密码正确主界面YN输入用户名与密码密码正确主界面Y输入新密码再输入一次密码两次输入相同NYN进入仓库管理信息系统前需要登录账号,如没有账号则可以注册一个新账号,在注册是得输入两次密码来确认密码的正确性。在进入系统后可以选择退出登录来退到登录界面。在系统中也可以选择修改密码功能,在正确输入用户名和密码后,可以修改密码。修改密码也需验证用户名与密码,也得输入两次密码来确认新密码的正确性,流程图如图5-1所示:图5-1 用户信息管理模块流程图5.1.2关键算法与技术实现登录系统需要登录账号,用户名与密码输入错误时会弹出登录失败弹窗,在正确输入用户名和密码后,代码如下所示。private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim() = | textBox2.Text.Trim() = ) MessageBox.Show(请输入用户名和密码, 提示); else string UserName = textBox1.Text; string PassWord = textBox2.Text; string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Security Info=False; SqlConnection connection = new SqlConnection(connString ); string sql = String.Format(select count(*) From Users where UserName=0 and PassWord=1, UserName, PassWord); tryconnection.Open(); SqlCommand command = new SqlCommand(sql, connection); int num = (int)command.ExecuteScalar(); if (num 0)MessageBox.Show(欢迎进入仓库管理系统!, 登陆成功, MessageBoxButtons.OK, MessageBoxIcon.Information); Main m = new Main(); m.Show(); this.Visible = false; elseMessageBox.Show(您输入的用户名或密码错误!, 登陆失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex)MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finallyconnection.Close(); 注册新账号,首先得验证用户名是否重复,在注册是得输入两次密码来确认密码的正确性,代码如下所示。private void button1_Click(object sender, EventArgs e) if (textBox2.Text != textBox3.Text)MessageBox.Show(两次输入的密码密码不一样,请重新输入, 提示);textBox3.Text = ;textBox2.Text = ;textBox2.Focus(); elsestring UserName = textBox1.Text; string PassWord = textBox2.Text; string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Security Info=False; SqlConnection connection = new SqlConnection(connString); string sql = String.Format(SELECT count(*) from Users where UserName=0, UserName); tryconnection.Open(); SqlCommand command = new SqlCommand(sql, connection); int count = (int)command.ExecuteScalar(); if (count 0)MessageBox.Show(用户名重复,请重新注册!, 注册失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); textBox1.Text = ;textBox2.Text = ;textBox3.Text = ;textBox1.Focus(); elsesql = String.Format(INSERT INTO Users (UserName,PassWord) VALUES (0,1), UserName, PassWord);SqlCommand command1 = new SqlCommand(sql, connection); int num = command1.ExecuteNonQuery(); if (num 0) MessageBox.Show(注册成功!, 注册成功, MessageBoxButtons.OK, MessageBoxIcon.Information ); Login m = new Login();m.Show();this.Visible = false; elseMessageBox.Show(注册失败!, 注册失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);textBox1.Text = ;textBox2.Text = ;textBox3.Text = ;textBox1.Focus(); catch (Exception ex)MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finallyconnection.Close(); 修改密码也需验证用户名与密码,也得输入两次密码来确认新密码的正确性,代码如下所示。private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim() = | textBox2.Text.Trim() = ) MessageBox.Show(请输入原用户名和密码, 提示); else if (textBox3.Text != textBox4.Text) MessageBox.Show(两次输入的密码密码不一样,请重新输入, 提示);textBox3.Text = ;textBox4.Text = ;textBox3.Focus(); else string UserName = textBox1.Text; string PassWord = textBox2.Text; string xinPassWord = textBox3.Text; string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Security Info=False; SqlConnection connection = new SqlConnection(connString); string sql = String.Format(select count(*) From Users where UserName=0 and PassWord=1, UserName, PassWord); tryconnection.Open(); SqlCommand command = new SqlCommand(sql, connection); int num = (int)command.ExecuteScalar(); if (num 0)MessageBox.Show(密码验证成功!, 验证成功, MessageBoxButtons.OK, MessageBoxIcon.Information); sql = String.Format(UPDATE Users SET PassWord=0 where UserName=1, xinPassWord, UserName); elseMessageBox.Show(您输入的用户名或密码错误!, 验证失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); connection.Close();connection.Open(); command = new SqlCommand(sql, connection); int count = command.ExecuteNonQuery(); if (count 0)MessageBox.Show(密码修改成功!, 修改成功, MessageBoxButtons.OK, MessageBoxIcon.Information);Main m = new Main();m.Show(); this.Visible = false; elseMessageBox.Show(密码修改失败, 修改失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex)MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finallyconnection.Close(); 5.2 物品信息管理模块实现5.2.1 程序流程图用户在物品信息管理模块中可以选择物品入库功能。如果入库的是一个新物品则需要填写详细的信息,包括编号,名称,型号,类型,数量,进货人等信息。如果是已经存在的物品,则只需填写编号和数量就可以了。物品入库流程图如5-2所示:NY已存在物品入库成功输入物品详细信息NY物品入库输入物品编号、数量所有信息输入真确图5-2 物品入库流程图NY查询物品详细信息输入查询数据NY输入物品详细信息所有信息输入真确物品信息修改修改成功物品信息修改时可以在出库界面上查询关于这个物品的详细信息,可以根据编号和名称来查询。物品信息修改得输入全部物品信息,物品编号必须得存在,物品信息修改流程图如图5-3所示:图5-3 物品信息修改流程图物品出库时可以在出库界面上查询关于这个物品的详细信息,可以根据编号和名称来查询。出库时只需填写物品编号,收货人编号,数量就可以了。物品出库流程图如图5-4所示:NY出库成功输入查询数据NY所有信息输入真确物品出库输入物品编号,收货人编号,数量插入此物品信息更新此物品信息查询物品详细信息出库表中有此物品NY图5-4 物品出库流程图5.2.2关键算法与技术实现用户在物品信息管理模块中可以选择物品入库功能。如果入库的是一个新物品则需要填写详细的信息,包括编号,名称,型号,类型,数量,进货人等信息。如果是已经存在的物品,则只需填写编号和数量就可以了,物品入库模块部分代码如下所示:private void button1_Click(object sender, EventArgs e) string bianhao = textBox1.Text;string name = textBox2.Text;string xinghao = textBox3.Text;string leixing = textBox4.Text;int shuliang = Convert.ToInt16(textBox5.Text);string jinhuoren = textBox6.Text;DateTime dt=DateTime .Now ;string time = dt.ToLongDateString(); string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Security Info=False; SqlConnection connection = new SqlConnection(connString); string sql = String.Format(SELECT count(*) from Thing where Id=0, bianhao); tryconnection.Open(); SqlCommand command = new SqlCommand(sql, connection); int count = (int)command.ExecuteScalar(); if (count 0)if (shuliang 0)sql = String.Format(UPDATE Thing SET shuliang=shuliang+0 where id=1, shuliang,bianhao ); SqlCommand command5 = new SqlCommand(sql, connection); int num4 = command5.ExecuteNonQuery(); if (num4 0)MessageBox.Show(物品添加成功!, 添加成功, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(请输入正确的数量!, 添加失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); elseif (textBox1.Text.Trim() = | textBox2.Text.Trim() = | textBox3.Text.Trim() = | textBox4.Text.Trim() = | textBox5.Text.Trim() = ) MessageBox.Show(请正确输入物品的信息!, 提示); else sql = String.Format(SELECT count(*) from Jinhuo where Id=0, jinhuoren);SqlCommand command2 = new SqlCommand(sql, connection);int num1 = (int)command2.ExecuteScalar(); if (num1 0) sql = String.Format(INSERT INTO Thing (Id,name,xinghao,leibie,shuliang,jinhuoren,time) VALUES (0,1,2,3,4,5,6), bianhao, name, xinghao, leixing, shuliang, jinhuoren, time); SqlCommand command1 = new SqlCommand(sql, connection);int num = command1.ExecuteNonQuery(); if (num 0)MessageBox.Show(物品添加成功!, 添加成功, MessageBoxButtons.OK, MessageBoxIcon.Information); elseMessageBox.Show(物品添加失败!, 添加失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); elseMessageBox.Show(不存在此进货人,请重新输入!, 添加失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex)MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finally connection.Close();物品信息修改时可以在出库界面上查询关于这个物品的详细信息,可以根据编号和名称来查询。物品信息修改得输入全部物品信息,物品编号必须得存在,物品信息修改模块部分代码如下所示:private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim() = | textBox2.Text.Trim() = | textBox3.Text.Trim() = | textBox4.Text.Trim() = | textBox5.Text.Trim() = ) MessageBox.Show(请正确输入物品的信息!, 提示); elsestring bianhao = textBox1.Text;string name = textBox2.Text;string xinghao = textBox3.Text;string leixing = textBox4.Text;string shuliang = textBox5.Text; string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Security Info=False; SqlConnection connection = new SqlConnection(connString);string sql = String.Format(UPDATE Thing SET name=0,xinghao=1,leibie=2,shuliang=3where Id=4, name, xinghao, leixing, shuliang,bianhao);try connection.Open(); SqlCommand command = new SqlCommand(sql, connection);int count = command.ExecuteNonQuery();if (count 0)MessageBox.Show(物品信息修改成功!, 修改成功, MessageBoxButtons.OK, MessageBoxIcon.Information);textBox1.Text = ;textBox2.Text = ; textBox3.Text = ; textBox4.Text = ;textBox5.Text = ; else MessageBox.Show(物品信息修改失败!, 修改失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex)MessageBox.Show(ex.Message, 操作数据库出错!, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finallyconnection.Close(); 物品出库时可以在出库界面上查询关于这个物品的详细信息,可以根据编号和名称来查询。出库时只需填写物品编号,收货人编号,数量就可以了。物品出库模块部分代码如下所示: private void button1_Click(object sender, EventArgs e) string id = textBox1.Text;string id1 = textBox2.Text;int shuliang = Convert.ToInt16(textBox3.Text);DateTime dt = DateTime.Now;string time1 = dt.ToLongDateString(); string connString = Data Source=pankang-pcSQLEXPRESS;Initial Catalog=Depot;Integrated Security = SSPI;Persist Sec

温馨提示

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

评论

0/150

提交评论