java课设职工信息管理系统_第1页
java课设职工信息管理系统_第2页
java课设职工信息管理系统_第3页
java课设职工信息管理系统_第4页
java课设职工信息管理系统_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、*实践教学* 兰州理工大学计算机与通信学院JAVA课程设计题 目: 职工信息管理系统 专业班级:计算机科学与技术2班 姓 名: 葛晓刚 学 号: 10240235 指导教师: 张 永 成 绩: 摘 要 用计算机管理职工信息具有可靠、方便、省时省力的特点。当今各种管理软件大部分只针对一个公司或者更大的范围来编写,它具有通用性良好的特点,但对于小领域如一个系来说,它就很难适应这个系特殊的管理。而该设计正是基于职工信息管理的特点来开发的。它可以实现职工信息的录入、添加、修改、删除、查询、保存到数据库等基本功能。同时还为管理者提供统计、制表、系统日志、开介绍信等特色功能。该系统具有界面友好、操作方便、

2、成本低廉、符合管理者习惯的特点。另外,系统采用Java语言开发,具有可移植性良好、不依赖于操作系统的特点。同时采用My SQL数据库管理系统做数据库,是因为它具有管理方便,存储量大的特点,适合计算机系信息管理的要求,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。本文系统的分析了软件开发的背景以过程;首先介绍了软件的开发环境,其次介绍了本软件的详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。关键词:职工 管理 信息系统 职工信息目 录TOC o 1-3 h u HYPERLINK l _Toc21788 一、需求分析 PAGEREF _To

3、c21788 1 HYPERLINK l _Toc17142 二、总体设计 PAGEREF _Toc17142 2 HYPERLINK l _Toc8 三、详细设计 PAGEREF _Toc8 3 HYPERLINK l _Toc23587 基础数据定义3 HYPERLINK l _Toc29548 主要功能实现5 3.3数据库表定义25 HYPERLINK l _Toc14991 四、测试28 HYPERLINK l _Toc27793 4.1登录主界面28 HYPERLINK l _Toc3376 4.2管理员身份登录主界面28 HYPERLINK l _Toc4613 4.3普通用户身份

4、登录主界面29 HYPERLINK l _Toc13767 4.4t添加职工信息29 HYPERLINK l _Toc30640 4.5修改职工信息30 HYPERLINK l _Toc7831 4.6职工信息查询30 HYPERLINK l _Toc7831 4.6删除职工信息31 HYPERLINK l _Toc7831 4.6添加用户信息31 HYPERLINK l _Toc7831 4.6修改用户信息32 HYPERLINK l _Toc7831 4.6用户信息查询32 HYPERLINK l _Toc7831 4.6删除用户信息.33 HYPERLINK l _Toc7831 4.6

5、用户密码修改33 HYPERLINK l _Toc24381 设计总结34 HYPERLINK l _Toc18188 参考文献35 HYPERLINK l _Toc18381 致谢36TOC o 1-3 h u 一、需求分析问题描述对职工信息进行管理,包括:职工信息的录入、修改、删除、更新,还有对登录用户进行管理,包括用户信息的录入、删除、修改,密码修改等管理,还有对用户信息的现实打印,查找等。要求(1)该管理软件将对用户信息进行管理和统计,对职工的信息进行录入更新管理和统计;(2)该管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;(4)该管

6、理软件提供人员管理,能够对员工的分类管理,新员工的加入以及员工删除,修改进本信息等功能。实现功能(1)由键盘输入职工对象,以数据库方式保存。程序执行时将文件录入数据库。(2)对职工对象进行查找,修改,删除,更新等操作。(3)对用户对象进行查找,修改,删除,更新等操作。二、总体设计根据需求分析,整个职工管理系统的功能结构如图1所示:职工信息管理系统基础功能信息维护查询管理系统管理职工信息录入用户信息维护 信息删除 修改更新职工信息查询 密码修改 退出系统图1 系统功能结构图三、详细设计3.1基础数据类定义public class Staff private String id; / 职工号pri

7、vate String name; / 姓名private String type; / 任职类型private String xueli; / 学历private String address; / 地址private String sex; / 性别private int age; / 年龄private double salary; / 工资public class User private String id; / 用户编号private String name; / 用户姓名private String sex; / 性别private String type; / 用户类别publ

8、ic class BaseDao protected static String driver = com.mysql.jdbc.Driver; / 数据库驱动protected static String url = jdbc:mysql:/localhost:3306/projectdata?userUnicode=true&characterEncoding=utf8; / 连接urlprotected static String dbUser = root; / 数据库用户名protected static String dbPwd = root; / 数据库密码private sta

9、tic Connection conn = null;/ 构造方法,创建数据库连接private BaseDao() try if (conn = null) Class.forName(driver); / 加载数据库驱动conn = DriverManager.getConnection(url, dbUser, dbPwd); / 建立数据库连接 elsereturn; catch (Exception ee) System.out.println(数 据 库 连 接 失 败 !);ee.printStackTrace();/ 执行数据库查询操作public static ResultS

10、et executeQuery(String sql) try if (conn = null)new BaseDao();return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); / 执行数据库查询 catch (SQLException e) e.printStackTrace();return null;/ 执行数据库更新操作public static int executeUpdate(String sql) try if (con

11、n = null)new BaseDao();return conn.createStatement().executeUpdate(sql); / 执行数据库更新 catch (SQLException e) System.out.println(错误信息:+e.getMessage();return -1; finally public static void close() try conn.close(); catch (SQLException e) e.printStackTrace(); finally conn = null;主要功能实现3.2.1 职工信息录入public c

12、lass StaffAdd extends JFrame private JPanel dialogPane;private JPanel contentPanel;private JLabel lb_id;private JTextField tf_id;private JLabel lb_name;private JTextField tf_name;private JLabel lb_type;private JComboBox cb_type;private JLabel lb_xueli;private JTextField tf_xueli;private JLabel lb_ad

13、dress;private JTextField tf_address;private JLabel lb_sex;private JTextField tf_sex;private JLabel lb_salary;private JTextField tf_salary;private JLabel lb_age;private JTextField tf_age;private JPanel buttonBar;private JButton btn_save;private JButton btn_close;public StaffAdd() initComponents();pri

14、vate void initComponents() dialogPane = new JPanel();contentPanel = new JPanel();lb_id = new JLabel();tf_id = new JTextField();lb_name = new JLabel();tf_name = new JTextField();lb_type = new JLabel();cb_type = new JComboBox(Constant.STAFF_TYPES);lb_xueli = new JLabel();tf_xueli = new JTextField();lb

15、_address = new JLabel();tf_address = new JTextField();lb_sex = new JLabel();tf_sex = new JTextField();lb_salary = new JLabel();tf_salary = new JTextField();lb_age = new JLabel();tf_age = new JTextField();buttonBar = new JPanel();btn_save = new JButton();btn_close = new JButton();setTitle(添加职工);setRe

16、sizable(false);Container contentPane = getContentPane();contentPane.setLayout(new BorderLayout();dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12);dialogPane.setLayout(new BorderLayout();contentPanel.setLayout(new GridLayout(5, 4, 6, 6);lb_id.setText(职工号:);lb_id.setHorizontalAlignment(SwingConsta

17、nts.RIGHT);contentPanel.add(lb_id);contentPanel.add(tf_id);lb_sex.setText(性别:);lb_sex.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_sex);contentPanel.add(tf_sex);lb_name.setText(姓名:);lb_name.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_name);contentPanel.add(tf

18、_name);lb_type.setText(任职类型:);lb_type.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_type);contentPanel.add(cb_type);lb_xueli.setText(学历:);lb_xueli.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_xueli);contentPanel.add(tf_xueli);lb_salary.setText(工资:);lb_salary.se

19、tHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_salary);contentPanel.add(tf_salary);lb_address.setText(地址:);lb_address.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_address);contentPanel.add(tf_address);lb_age.setText(年龄:);lb_age.setHorizontalAlignment(SwingConstant

20、s.RIGHT);contentPanel.add(lb_age);contentPanel.add(tf_age);dialogPane.add(contentPanel, BorderLayout.CENTER);buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0);buttonBar.setLayout(new GridBagLayout();(GridBagLayout) buttonBar.getLayout().columnWidths = new int 0, 85, 80 ;(GridBagLayout) buttonBar.getL

21、ayout().columnWeights = new double 1.0, 0.0, 0.0 ;btn_save.setText(保存);btn_save.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_saveActionPerformed(e););buttonBar.add(btn_save, new GridBagConstraints(1, 0, 1, 1, 0.0,0.0, GridBagConstraints.CENTER,GridBagConstrai

22、nts.BOTH, new Insets(0, 0, 0, 5), 0, 0);btn_close.setText(关闭);btn_close.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_closeActionPerformed(e););buttonBar.add(btn_close, new GridBagConstraints(2, 0, 1, 1,0.0, 0.0, GridBagConstraints.CENTER,GridBagConstraints.BO

23、TH, new Insets(0, 0, 0, 0), 0, 0);dialogPane.add(buttonBar, BorderLayout.SOUTH);contentPane.add(dialogPane, BorderLayout.CENTER);setSize(625, 260);setLocationRelativeTo(getOwner();show();private void btn_saveActionPerformed(ActionEvent e) String id = tf_id.getText();String name = tf_name.getText();S

24、tring type = cb_type.getSelectedItem().toString();String xueli = tf_xueli.getText();String address = tf_address.getText();String sex = tf_sex.getText();String salary = tf_salary.getText();String age = tf_age.getText();String sql = insert into staff(id,name,type,xueli,address,sex,salary,age) values(+

25、 id+ ,+ name+ ,+ type+ ,+ xueli+ ,+ address + , + sex + , + salary + , + age + );int i = BaseDao.executeUpdate(sql);if (i = 1) JOptionPane.showMessageDialog(null, 添加成功);dispose();private void btn_closeActionPerformed(ActionEvent e) dispose();public class StaffUpdate extends JFrame private JPanel dia

26、logPane;private JPanel contentPanel;private JLabel lb_cx_id;private JTextField tf_cx_id;private JButton btn_query;private JLabel label12;private JLabel lb_id;private JTextField tf_id;private JLabel lb_name;private JTextField tf_name;private JLabel lb_type;private JComboBox cb_type;private JLabel lb_

27、xueli;private JTextField tf_xueli;private JLabel lb_address;private JTextField tf_address;private JLabel lb_sex;private JTextField tf_sex;private JLabel lb_salary;private JTextField tf_salary;private JLabel lb_age;private JTextField tf_age;private JPanel buttonBar;private JButton btn_save;private JB

28、utton btn_close;public StaffUpdate() initComponents();private void initComponents() dialogPane = new JPanel();contentPanel = new JPanel();lb_cx_id = new JLabel();tf_cx_id = new JTextField();btn_query = new JButton();label12 = new JLabel();lb_id = new JLabel();tf_id = new JTextField();lb_name = new J

29、Label();tf_name = new JTextField();lb_type = new JLabel();cb_type = new JComboBox(Constant.STAFF_TYPES);lb_xueli = new JLabel();tf_xueli = new JTextField();lb_address = new JLabel();tf_address = new JTextField();lb_sex = new JLabel();tf_sex = new JTextField();lb_salary = new JLabel();tf_salary = new

30、 JTextField();lb_age = new JLabel();tf_age = new JTextField();buttonBar = new JPanel();btn_save = new JButton();btn_close = new JButton();setTitle(修改职工信息);setResizable(false);Container contentPane = getContentPane();contentPane.setLayout(new BorderLayout();dialogPane.setBorder(new EmptyBorder(12, 12

31、, 12, 12);dialogPane.setLayout(new BorderLayout();contentPanel.setLayout(new GridLayout(6, 4, 6, 6);lb_cx_id.setText(职工号:);lb_cx_id.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_cx_id);contentPanel.add(tf_cx_id);btn_query.setText(查询);btn_query.addActionListener(new ActionListener(

32、) public void actionPerformed(ActionEvent e) btn_queryActionPerformed(e););contentPanel.add(btn_query);label12.setText(text);label12.setVisible(false);contentPanel.add(label12);lb_id.setText(职工号:);lb_id.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_id);tf_id.setEditable(false);con

33、tentPanel.add(tf_id);lb_name.setText(姓名:);lb_name.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_name);contentPanel.add(tf_name);lb_type.setText(任职类型:);lb_type.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_type);contentPanel.add(cb_type);lb_xueli.setText(学历:);lb_

34、xueli.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_xueli);contentPanel.add(tf_xueli);lb_address.setText(地址:);lb_address.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_address);contentPanel.add(tf_address);lb_sex.setText(性别:);lb_sex.setHorizontalAlignment(SwingCo

35、nstants.RIGHT);contentPanel.add(lb_sex);contentPanel.add(tf_sex);lb_salary.setText(工资:);lb_salary.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_salary);contentPanel.add(tf_salary);lb_age.setText(年龄:);lb_age.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_age);cont

36、entPanel.add(tf_age);dialogPane.add(contentPanel, BorderLayout.CENTER);buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0);buttonBar.setLayout(new GridBagLayout();(GridBagLayout) buttonBar.getLayout().columnWidths = new int 0, 85, 80 ;(GridBagLayout) buttonBar.getLayout().columnWeights = new double 1.0

37、, 0.0, 0.0 ;btn_save.setText(保存);btn_save.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_saveActionPerformed(e););buttonBar.add(btn_save, new GridBagConstraints(1, 0, 1, 1, 0.0,0.0, GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0, 0, 0, 5), 0, 0

38、);btn_close.setText(关闭);btn_close.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_closeActionPerformed(e););buttonBar.add(btn_close, new GridBagConstraints(2, 0, 1, 1,0.0, 0.0, GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0);dial

39、ogPane.add(buttonBar, BorderLayout.SOUTH);contentPane.add(dialogPane, BorderLayout.CENTER);setSize(625, 260);setLocationRelativeTo(getOwner();show();private void btn_saveActionPerformed(ActionEvent e) / 获取用户输入信息String id = tf_id.getText();String name = tf_name.getText();String type = cb_type.getSele

40、ctedItem().toString();String xueli = tf_xueli.getText();String address = tf_address.getText();String sex = tf_sex.getText();String salary = tf_salary.getText();String age = tf_age.getText();/ 拼接sqlString sql = update staff set name= + name + ,type= + type+ ,xueli= + xueli + ,address= + address + ,se

41、x=+ sex + ,salary= + Double.parseDouble(salary) + ,age=+ age + where id= + id + ;/ 执行数据库操作int i = BaseDao.executeUpdate(sql);if (i = 1) JOptionPane.showMessageDialog(null, 修改成功);dispose();private void btn_queryActionPerformed(ActionEvent e) String id = tf_cx_id.getText(); / 职工号Staff staff = StaffDao

42、.selectStaff(id); / 根据编号查询职工信息/ 设置职工信息if (staff != null) tf_id.setText(staff.getId();tf_name.setText(staff.getName();cb_type.setSelectedItem(staff.getType();tf_xueli.setText(staff.getXueli();tf_address.setText(staff.getAddress();tf_sex.setText(staff.getSex();tf_salary.setText(String.valueOf(staff.ge

43、tSalary();tf_age.setText(String.valueOf(staff.getAge();private void btn_closeActionPerformed(ActionEvent e) dispose();public class StaffDelete extends JFrame private JPanel dialogPane;private JPanel contentPanel;private JLabel lb_cx_id;private JTextField tf_cx_id;private JButton btn_query;private JL

44、abel label12;private JLabel lb_id;private JTextField tf_id;private JLabel lb_name;private JTextField tf_name;private JLabel lb_type;private JComboBox cb_type;private JLabel lb_xueli;private JTextField tf_xueli;private JLabel lb_address;private JTextField tf_address;private JLabel lb_sex;private JTex

45、tField tf_sex;private JLabel lb_salary;private JTextField tf_salary;private JLabel lb_age;private JTextField tf_age;private JPanel buttonBar;private JButton btn_del;private JButton btn_close;public StaffDelete() initComponents();private void initComponents() dialogPane = new JPanel();contentPanel =

46、new JPanel();lb_cx_id = new JLabel();tf_cx_id = new JTextField();btn_query = new JButton();label12 = new JLabel();lb_id = new JLabel();tf_id = new JTextField();lb_name = new JLabel();tf_name = new JTextField();lb_type = new JLabel();cb_type = new JComboBox();lb_xueli = new JLabel();tf_xueli = new JT

47、extField();lb_address = new JLabel();tf_address = new JTextField();lb_sex = new JLabel();tf_sex = new JTextField();lb_salary = new JLabel();tf_salary = new JTextField();lb_age = new JLabel();tf_age = new JTextField();buttonBar = new JPanel();btn_del = new JButton();btn_close = new JButton();setTitle

48、(删除职工);setResizable(false);Container contentPane = getContentPane();contentPane.setLayout(new BorderLayout();dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12);dialogPane.setLayout(new BorderLayout();contentPanel.setLayout(new GridLayout(6, 4, 6, 6);lb_cx_id.setText(职工号:);contentPanel.add(lb_cx_id

49、);contentPanel.add(tf_cx_id);btn_query.setText(查询);btn_query.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_queryActionPerformed(e););contentPanel.add(btn_query);label12.setText(text);label12.setVisible(false);contentPanel.add(label12);lb_id.setText(职工号:);lb_id

50、.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_id);tf_id.setEditable(false);contentPanel.add(tf_id);lb_name.setText(姓名:);lb_name.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_name);tf_name.setEditable(false);contentPanel.add(tf_name);lb_type.setText(任职类型:);lb_ty

51、pe.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_type);cb_type.setEnabled(false);contentPanel.add(cb_type);lb_xueli.setText(学历:);lb_xueli.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_xueli);tf_xueli.setEnabled(false);contentPanel.add(tf_xueli);lb_address.setTex

52、t(地址:);lb_address.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_address);tf_address.setEnabled(false);contentPanel.add(tf_address);lb_sex.setText(性别:);lb_sex.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_sex);tf_sex.setEnabled(false);contentPanel.add(tf_sex);lb_

53、salary.setText(工资:);lb_salary.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_salary);tf_salary.setEnabled(false);contentPanel.add(tf_salary);lb_age.setText(年龄:);lb_age.setHorizontalAlignment(SwingConstants.RIGHT);contentPanel.add(lb_age);tf_age.setEnabled(false);contentPanel.add(tf

54、_age);dialogPane.add(contentPanel, BorderLayout.CENTER);/ = buttonBar =buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0);buttonBar.setLayout(new GridBagLayout();(GridBagLayout) buttonBar.getLayout().columnWidths = new int 0, 85, 80 ;(GridBagLayout) buttonBar.getLayout().columnWeights = new double 1.0

55、, 0.0, 0.0 ;/ btn_del btn_del.setText(u5220u9664);btn_del.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_delActionPerformed(e););buttonBar.add(btn_del, new GridBagConstraints(1, 0, 1, 1, 0.0,0.0, GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,

56、0, 0, 5), 0, 0);/ btn_close btn_close.setText(u5173u95ed);btn_close.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) btn_closeActionPerformed(e););buttonBar.add(btn_close, new GridBagConstraints(2, 0, 1, 1,0.0, 0.0, GridBagConstraints.CENTER,GridBagConstraints.BOTH,

57、new Insets(0, 0, 0, 0), 0, 0);dialogPane.add(buttonBar, BorderLayout.SOUTH);contentPane.add(dialogPane, BorderLayout.CENTER);setSize(625, 260);setLocationRelativeTo(getOwner();show();private void btn_queryActionPerformed(ActionEvent e) String id = tf_cx_id.getText();Staff staff = StaffDao.selectStaf

58、f(id);if (staff != null) tf_id.setText(staff.getId();tf_name.setText(staff.getName();cb_type.setSelectedItem(staff.getType();tf_xueli.setText(staff.getXueli();tf_address.setText(staff.getAddress();tf_sex.setText(staff.getSex();tf_salary.setText(String.valueOf(staff.getSalary();tf_age.setText(String.

59、valueOf(staff.getAge();private void btn_delActionPerformed(ActionEvent e) String id = tf_id.getText(); / 获取职工编号String sql = delete from staff where id= + id + ; / 删除指定编号的职工/ 执行数据库操作int i = BaseDao.executeUpdate(sql);if (i = 1) JOptionPane.showMessageDialog(null, 删除成功);dispose();private void btn_clos

60、eActionPerformed(ActionEvent e) dispose();public class StaffUpdate extends JFrame private JPanel dialogPane;private JPanel contentPanel;private JLabel lb_cx_id;private JTextField tf_cx_id;private JButton btn_query;private JLabel label12;private JLabel lb_id;private JTextField tf_id;private JLabel lb

温馨提示

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

评论

0/150

提交评论