JAVA数据库学生成绩管理系统实验报告_第1页
JAVA数据库学生成绩管理系统实验报告_第2页
JAVA数据库学生成绩管理系统实验报告_第3页
JAVA数据库学生成绩管理系统实验报告_第4页
JAVA数据库学生成绩管理系统实验报告_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、实训报告实训名称:学生成绩管理系统系(部):专业班级:学生姓名:学 号:指导教师:完成日期:南京铁道职业技术学院目录目录31实训概述32Java访问并处理数据库的课题描述 32.1 课题简介32.2 模块简介32.3 数据库结构设计42.4系统功能层次图 63系统模块的详细设计63.1登录模块设计63.2管理员模块设计63.3学生模块设计84 程序运行与测试 95 实训总结30订线Java访问并处理数据库的设计与实现1实训概述南京铁道职业技术学院浦口校区2013级网络L1301班于大二上学期组织了 为期一周的Java实训,本次实训的课题是“学生成绩管理系统”。通过综合实训,掌握运用Java语言

2、基本知识和技能、JAVA的基本语法与JDBC数据库技 术的应用;进一步熟悉Oracle数据库的数据库管理(数据库的创建、应用)。 表的创建、修改、删除,约束及关系等、数据的查询处理(insert、update delete select语句等技术。2 Java访问并处理数据库的课题描述2.1 课题简介经过分析,我们使用Java开发工具,利用其提供的各种面向对象的开发工具, Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有 全球最大的开发者专业社群。使用的数据库是Oracle, Oracle数据库功能

3、强大,学习起来也不难,然后,对初始原型系统进行需求迭代 ,不断修正和改进,直到形 成用户满意的可行系统。通过实训,我们掌握运用Java语言知识和技能,运用JAVA的基本语法与 JDBC数据库技术的应用,完成对甲骨文数据库的数据库管理、例如表的设计(表的创建、修改、删除,字段的默认值、约束及关系等)、数据的查询处理(insert、update delete select语句的应用)等技术;并能结合数据库应用技 术和jdbc进行小型数据库管理系统的开发。2.2 模块简介管理员模块功能需求:管理员身份登陆系统后,可以对学生信息进行添加、修改和查询等操作,对学生进行添加、修改和查询功能操作,还可以修改

4、管理员的登录密码。学生模块功能需求:学生信息管理系统中需要在学生登录或验证身份后,可以自行完成学生个 人信息的查询,也可以进行修改和删除个人信息、修改学生密码等操作。2.3数据库结构设计数据表设计定义每个表的数据类型以及字段限制,使数据库达到一定的完整性.每个表的 物理设计如下:1.表admin保存用户的个人信息用户信息表主要是用来保存管理员用户的基本信息,包括管理员的ID和管 理员的登录密码,只有符合这两个字段的格式要求,才能登录成功,结构表如下:表4-2管理员信息表字段名类型空值约束条件管理员IDnumber(10)not n ull主键登录密码varchar2(10)not n ull2

5、.表student保存学生基本信息,结构表如下:表4-5学生信息表字段名类型空值约束条件学号number(10)not n ull主键姓名varchar2(20)not n ull性别varchar2(3)年龄nu mber(2)登录密码varchar2(10)not n ull逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本 E-R图转化为宜选用的DBMS所支持的数据模型 相符合的逻辑结构,并对其进行优化。流程图层次设计图的格式如下所示:添加按钮查找按钮删除按钮返回结束图1管理员对学生信息管理系统局部E-R图数据流图是结构化系统分析的主要工具,它表示

6、了系统内部信息的流向,并表现系统的逻辑处理功能2.4系统功能层次图学生信息管理系统是一个典型的数据库开发应用程序,系统是和数据库相 结合.,进入系统,有两个用户,分别是普通学生、和管理员。学生信息管理系统修1查增查改询加找密信学学码息生生删 除 学 生图2学生信息管理系统功能层次图修 改 学 生登陆管理学管生理登员录登录3系统模块的详细设计本学生信息管理系统主要模块,即用户登录模块、用户操作模块。用户操作 模块又分为学生操作模块、管理员操作模块。下面将显示系统的主要功能模块。3.1登录模块设计学生信息管理系统前台登陆模块可以勾选管理员身份信息,代表以管理员 身份进入。不勾选即为普通学生身份登录

7、。3.2管理员模块设计学生信息管理系统前台登陆模块只有一个登陆窗口分为学生、管理员两个级别登陆,系统在后台程序有自动限制设置,可以自动识别登陆者的限制。其系统登陆模块算法如下:1判断是否勾选管理员身份;2输入用户名和密码;3判断用户名和密码是否匹配;(1)若提示输入信息错误,则重新输入;(2)否则以管理员身份进入系统。添加学生信息功能学生信息管理系统对学生信息的管理非常重要,其中对信息的录入是系统最 为关键的地方,以往我们管理学生信息的时候都是手工操作,而随社会不断发展的 今天计算机的应用已全部取带了手工操作的方法,利用计算机可以方便的录入各 类信息,进行高效的管理学生信息的录入就是利用计算机

8、通过程序读入数据库, 录入学生信息模块算法描述如下:1. 管理员登陆后,录入学生信息管理界面;2单击增加学生按钮,键入学生ID ;3当录入学号已经存在,提示该学生信息已存在,请重新输入;4.否则学生信息添加成功。查找学生信息功能学生信息管理系统对查询学生信息管理也很重要,方法和增添学生信息类似, 也同样是利用计算机通过程序读入数据库,查询学生信息模块算法描述如下:1. 管理员登陆后,点击查询学生;2. 当录入学生信息不存在时,提示没有该学生信息,重新输入;3. 当录入学生ID已经存在,提示该学生信息存在,显示学生信息;删除学生信息功能学生选课模块主要是给删除学生信息的功能,本功能主要由管理员进

9、入数据 库,然后学生管理系统,其删除学生信息模块算法描述如下:1 管理员成功登陆;2 点击删除学生;3 输入学生相关信息,如学生ID ;4. 如该学生不存在,则提示信息不存在,否则删除该学生。修改学生信息功能此信息修改模块主要是给学生和管理员建立信息库,方便管理员查询操作,信 息修改模块算法描述如下:1 管理员成功登陆;2 点击修改学生信息;3 输入学生的编号;4 编号为空,重新输入;5 .输入不为数字,重新输入;6.输入正确,进入修改页面进行相关修改。3.3学生模块设计查看学生个人信息功能学生信息管理系统方便了学生查看自己的学籍信息,如果学校由于疏忽输入 了错误信息,自己可以查看并且及时通知

10、学校管理员,及时修改,减少不必要的麻 烦此信息查询模块主要是方便学生查询操作,信息查询模块算法描述如下:1学生成功登陆;2. 点击查询学生信息;3. 输入学生的编号;4 .编号为空,重新输入;5 .输入不为数字,重新输入;6.输入正确,进入信息查询页面进行相关修改。修改学生登录密码功能学生可以进入学生管理系统进行登录密码的修改1. 学生成功登陆;2. 单击修改密码;3. 输入旧密码、新密码确认后,若旧密码正确则修改成功,贝U提示重新输 入旧密码;4. 提交修改完成修改。课程实训报告书4程序运行与测试packagecom.briup.view;import java.awt.*;import j

11、ava.awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import javax.swi ng.*;import com.briup.bea n. Adm in;import com.briup.bean.Student;import com.briup.dao.AdminDao;/登录窗口import com.briup.dao.StudentDao;public classLoginFrame extendsJFrameprivate JCheckBoxc;private JButton loginBtn,resetBt

12、n;private JTextField name In put;private JPasswordFielcpwdl nput;private Adm in Dao adm in Dao=n ewAdm in Dao();private Stude ntDaostude ntDao=n ewStude ntDao();public LoginFrame()/初始化窗口本身Dime nsio n d=Toolkit.getDefaultToolkit().getScree nSize();int width=d.width;int height=d.height;设置坐标为400-400宽为3

13、00高为200setBou nds(width/2-200, height/2-100,400,200);setTitle(登录界面);/设置窗口为不可缩放setResizable(false);setDefaultCloseOperatio n(JFrame.EXIT_ON_CLOSE);ini t();event();private void event() /为按钮添加事件处理resetBt n.addMouseListe ner(n evMouseAdapter()/监听鼠标单击事件Overridepublic void mouseClicked(MouseEvente)System.

14、exit(O); );log in Bt n.addMouseListe ner(n ewMouseAdapter() Overridepublic void mouseClicked(MouseEvente)/获取用户输入的值String username=namelnput.getText().trim();String password=pwdInput.getText().trim();判断是否勾选了管理员多选框if(c.isSelected()从管理员表中检测数据Admin a=adminDao.findAdminByName(username);如果a不为null说明用户输入的管理

15、员是存在的if(a=nu ll)/说明此管理员不存在JOptio nPan e.showMessageDialog( null用户名或密码不 正确,提示信息,JOptionPane.WARNING_MESSAGE);else管理员存在密码正确密码不正确if(a.getPassword().equals(password)后台保存的密码和用户从客户端输入的密码是一样的JOptionPane.showMessageDialog(null登录成功,提示信息,JOptio nPan e.WARNING_MESSAGE);/关闭当前的登录窗口Log inF rame.this.dispose();/开启

16、管理员界面new AdminF rame(a.getUser name().go();elseJOptio nPa ne.showMessageDialog( null用户名或密 码不正确,提示信息,JOptionPane.WARNING_MESSAGE); else从普通用户表中检测数据Stude nts=stude ntDao.fi ndStude ntByStude ntld(user name); if(s=null)JOptio nPan e.showMessageDialog( null用户名或密码不 正确,提示信息,JOptionPane.WARNING_MESSAGE);els

17、eif(s.getPassword().equals(password)JOptionPane.showMessageDialog(null登录成功, 提示信息,JOptionPane.WARNING_MESSAGE);Log inF rame.this.dispose();new Stude ntFrame(s, nu ll).go();elseJOptio nPa ne.showMessageDialog( null用户名或密 码不正确,提示信息,JOptionPane.WARNING_MESSAGE); );public void init()/初始化窗口内部的组件Contain erc

18、 ontain er=getC onten tPa ne();组件放到哪个位置由用户自己来制定contain er.setLayout (n ull);JLabeltitle=newJLabel(用户登录”); title.setFo nt(newFon t(楷体,0,32); title.setBou nds(110,5,200,33); contain er.add(title);JLabel nameLabel=newJLabel(用户名:);nameLabel.setBounds(7055, 60,30);contain er.add( nameLabel);n ameI nput=n

19、 ewJTextField();n ame In put.setBou nds(130,60,150,20);/设置提示内容nameInput.setToolTipText(此处写登录用户名); contain er.add( name In put);JLabel pwdLabel=new JLabel(密 码:); pwdLabel.setBounds(70,80, 60, 30);contain er.add(pwdLabel);pwd In put=new JPasswordField();pwdI nput.setBou nds(130,85,150,20);pwdI nput.se

20、tToolTipText(此处写密码);contain er.add(pwd In put);c=new JCheckBox(管理员);c.setBou nds(68,115,70,30);contain er.add(c);log in Bt n=new JButto n(登录);loginBtn.setBounds(140,115,60, 30);contain er.add(logi nBtn);resetBt n=n ew JButto n(” 取消);resetBtn.setBounds(215115,60, 30);con tai ner.add(resetBt n);public

21、 void go()setVisible(true); public static void main( Stri ng args)new LoginFrame().go(); i - 1岳H-讦-朗 用户登录m小总:|勰码* I11 1 45packagecom.briup.dao;import java.sql.C onn ecti on;import java.sql.PreparedStateme nt;import java.sql.ResultSet;import com.briup.bea n. Adm in;import com.briup.util.ConnectionFac

22、tory;/和管理员相关的数据库操作public classAdm in Dao /根据用户名查找指定管理员public Adm in fin dAdm in ByName(Stri ng user name)Adm in adm in=nu II;Conn ecti onconn=nu II;PreparedStateme npstat=n ull;ResultSetrs=null;try conn=Conn ectio nF actory.getC onn ectio n();String sql=selectusername,passwordrom admin whereusername

23、=?; pstat=c onn .prepareStateme nt(sql);pstat.setStri ng(1 user name);rs=pstat.executeQuery();如果查不到任何数据下方while内部的代码不会执行while(rs. next()/如果能执行到这个地方说明指疋管理员是存在的adm in=new Admi n();admi n.setUsername(username);admi n.setPassword(rs.getStri ng(password); catch (Exception e) /TODO: handleexceptione.pri nt

24、StackTrace();fin allyConn ectio nF actory.close(rspstat, conn); return admin;public static void main(String args)Admin Dao().fi ndAdmi nByName(admi).getPassword();packagecom.briup.view;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.eve nt.MouseAdapter;import java.awt.eve nt.Mo

25、useEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio nPane;import javax.swi ng.JPan el;import javax.sw in g.JTextField;import com.briup.bean.Student;impor

26、t com.briup.dao.StudentDao;添加学生public classAddStudentFrameextendJFrameprivate AdminFrame admin;private JPa nelp1,p2,p3,p4,p5;private JLabelidLbl, nameLbl,ageLbl,ge nderLbl;private JTextFieldid In put, name In put,age In put,ge nderl nput;private JButton submitBt n,can celBt n;private Stude ntDaostud

27、e ntDao=n ewStude ntDao();public AddStude ntFrame(Admi nF rameadmi n)this.admi n=admi n;setTitle(添加学生);setResizable(false);setBounds(400,100, 300,400);in it();eve nt();private void init()Contain erc ontain er=getC onten tPa ne();contain er.setLayout (n ewGridLayout(5, 1);p1= new JPa nel();p1.setLayo

28、ut (n ull);idLbl=new JLabel(学籍号:);idLbl.setBounds(50,30,50, 20);idInput=new JTextField();idInput.setBounds(100,30, 120, 20);p1.add(idLbl);p1.add(idl nput);contain er.add(p1);p2=n ewJPa nel();p2.setLayout (n ull);nameLbl=new JLabel(姓名:); nameLbl.setBounds(50,10, 50, 20); n amel nput=n ewJTextField();

29、namel nput.setBou nds(10010,120,20);p2.add( nameLbl);p2.add( name In put);contain er.add(p2);p3=n ewJPa nel();p3.setLayout (n ull); ageLbl=new JLabel(年龄:); ageLbl.setBounds(50,10, 50,20);age In put=n ewJTextField();age In put.setBou nds(10010,120,20);p3.add(ageLbl);p3.add(age In put);contain er.add(

30、p3);p4=n ewJPa nel();p4.setLayout (n ull);gen derLbl=newJLabel(性别:);genderLbl.setBounds(50,10, 50,20);gen derI nput=n ewJTextField();gen derI nput.setBou nds(10010,120,20);p4.add(ge nderLbl);p4.add(ge nderl nput);contain er.add(p4);p5=n ewJPa nel();p5.setLayout (n ull);submitBt n=new JButto n(确定);su

31、bmitBtn.setBounds(130,10, 60,20);can celBt n=n ewJButto n(取消);cancelBtn.setBounds(195,10, 60,20);p5.add(submitBt n);p5.add(ca ncelBt n);contain er.add(p5);private void event()/设置当前窗口的关闭操作/此处可自定义窗口关闭时所作操作this.addWi ndowListe ner(n ewWi ndowAdapter() public void windowClosing(WindowEvent e)/将之前传递过来的那个

32、管理窗口设置为可用if(admi n!=n ull)admin.setEnabled(true); /释放当前窗口AddStudentFrame.this.dispose(););/取消按钮的操作can celBt n.addMouseListe ner(n eWMouseAdapter() Overridepublic void mouseClicked(MouseEvente) if(admi n!=n ull)admi n.setE nabled(true);AddStudentFrame.this.dispose(););/确定按钮的操作submitBt n. addMouseList

33、e ner(n ewMouseAdapter() public void mouseClicked(MouseEvente)/接受用户在客户端输入的值/正则表达式String studentld=idInput.getText().trim();String studentName=nameInput.getText().trim();String age=ageInput.getText().trim();String gender=genderlnput.getText().trim();Stude nts=new Stude nt();/注意别输入了已存在的学籍号s.setStude n

34、tid(Lon g.parseL on g(stude ntld);s.setStude ntName(stude ntName);s.setPassword(stude ntld);s.setAge(l nteger.parse In t(age);s.setGe nder(ge nder);/将获得值封装成Student对象调用指定方法存储到数据库boolea nresult=stude ntDao.addStude nt(s);if(result)JOptio nPan e.showMessageDialog( null添加成功!); if(admi n!=n ull)admi n.se

35、tE nabled(true);AddStude ntFrame.this.dispose();elseJOptionPane.showMessageDialog(null添加失败,请检查学籍 号是否已存在! ););public void go()setVisible(true);public static void main(String args)new AddStude ntFrame( nu ll).go();packagecom.briup.view;import java.awt.C ontainer;import java.awt.GridLayout;import java.

36、awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import java.util.List;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.JPan el;import javax.sw in g.JTextFiel

37、d;import com.briup.bean.Student;import com.briup.dao.StudentDaopublic classFindStudentFrameextendsJFrame private Stude ntDaostude ntDao=n ewStude ntDao(); private JLabelidLbl, nameLbl;private JTextFieldid In put ,n ame In put;private JButton findBtn,cancelBtn;public FindStudentFrame()setTitle(查找学生);

38、setBounds(405,100, 200,390);setResizable(false);in it();event();private void init()Contain erc ontain er=getC onten tPa ne();contain er.setLayout (n ewGridLayout(3, 1);JPa nelp1= newJPa nel();p1.setLayout (n ull);idLbl=new JLabel(学籍号:);idLbl.setBounds(20,55,50, 20);idInput=new JTextField();idI nput.

39、setBou nds(73,55,100,20);p1.add(idLbl);p1.add(idl nput);contain er.add(p1);JPa nelp2=n ewJPa nel();p2.setLayout (n ull);nameLbl=new JLabel(姓名:);nameLbl.setBounds(20,55, 50, 20);n ameI nput=n ewJTextField();n ameI nput.setBou nds(7355,100,20);p2.add( nameLbl);p2.add( name In put);contain er.add(p2);J

40、Pa nelp3=newJPa nel();p3.setLayout (n ull);findBtn=new JButton(搜索);fin dBt n.setBou nds(60,30,60,20);can celBt n=n ewJButto n(取消);can celBt n. setBou nds(123,30,60,20);p3.add(fi ndBt n);p3.add(ca ncelBt n);contain er.add(p3); private void event()this.addWi ndowListe ner(n ewWi ndowAdapter() public v

41、oid windowClosing(WindowEvent e)Fin dStude ntFrame.this.dispose(););fin dBt n. addMouseListe ner(n ewMouseAdapter() public void mouseClicked(MouseEvente)String idStr=idlnput.getText().trim();String nameStr =nameInput.getText().trim();Long studentld=null;String studentName=nuII;if(idStr.length()!=0)

42、如果 id 有值stude ntld=L on g.parseL on g(idStr);if(n ameStr.le ngth()!=0)studentName=nameStr; Liststude nts=stude ntDao.fi ndStude ntByCo nditi on s(stude ntIdstude ntName);/将查询的结果传递给显示界面new ShowResultFrame(students).go() ); public void go()setVisible(true); public static void main( Stri ng args)new Fi

43、ndStudentFrame().go();/System.out.println(” .trim().length();正则表达式s/System.out.pri ntln( );/System.out.println(1 2 .replaceAII(s, ).length(); packagecom.briup.view;i -i 代 1 半EKW:卜Ji空刖arnaiT厂bbl 口 mn 二*1ultsftimport java.awt.Color;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.

44、eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import java.util.List;import javax.sw in g.BorderFactory;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio

45、 nPane;import com.briup.bean.Student;import com.briup.dao.StudentDao;public classShowResultFrameextendsJFrameprivate List students;private Stude ntDaostude ntDao=n ewStude ntDao();public ShowResultFrame(Liststude nts)setTitle(查询结果);if (students.size() 0) setBounds(100,100,300, 60* students.size(); e

46、lsesetBou nds(100,100,300,150);this.stude nts= stude nts;in it();private void init() Contain erc ontain er= getC onten tPa ne();con tai ner.setLayout( newGridLayout(stude nts.size(),2);/遍历集合 将集合中的每一条数据显示到当前容器里面if (students.size()= 0) con ta in er.add( newJLabel(暂无记录!); elsefor (Studentstu: students)

47、JLabel l = n ew JLabel(stu.getStude ntName();final Students = stu;l.addMouseListe ner(n ewMouseAdapter()public void mouseClicked(MouseEvente) if(e.getClickCou nt()=2)new Stude ntFrame(snull).go(); );LsetBorder(BorderFactory.createLineBorder(neWColor(253, 253,187); JButton b = new JButton(”删除);final

48、Long studentld= stu.getStudentid();b.addMouseListe ner(n ewMouseAdapter() public void mouseClicked(MouseEvente) int choose=JOptionPane.showConfirmDialog(null确定删除?);判断用户点击的是否是确定按钮if(choose=JOptio nPa ne.OK_OPTION)ShowResultFrame.this.dispose();stude nts.remove(s);new ShowResultFrame(stude nts).go();

49、stude ntDao.deleteStude ntByld(stude ntId); );contain er.add(l)c ontain er.add(b)private void event() this.addWi ndowListe ner(n ewWi ndowAdapter() public void windowClosing(WindowEvent e)ShowResultFrame.this.dispose();); public void go() setVisible(true); public static void main(String args)package

50、com.briup.view;import java.awt.Color;import java.awt.C ontainer;import java.awt.GridLayout;import java.awt.eve nt.MouseAdapter;import java.awt.eve nt.MouseEve nt;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio nPane;import javax.swi n

51、g.JPan el;import javax.swi ng.J PasswordField;import javax.sw in g.JTextField;import com.briup.bean.Student;import com.briup.dao.StudentDao;public classStudentFrameextendsJFrameprivate JPa nelp1,p2,p3,p4,p5,p6;private JLabelidLbl,pwdLbl, nameLbl,ageLbl,ge nderLbl;private JTextFieldid In put, name In

52、 put,age In put,ge nderl nput;private JPasswordFielcpwdl nput;private Stude ntstude nt;private JButt on modifyPwdBt n,submitBt n,exitBt n;private String nPassword;private Stude ntDaodao=n ewStude ntDao();/stude nt记录当前登录的用户n Password记录修改以后的密码public Stude ntFrame(Stude ns,Stri ng n Password)this.stude

53、 nt=s;this .n Password=nPassword;/初始化的时候获取当前用户的密码setTitle(学生信息);setResizable(false);setBounds(400,100, 300,400);/默认关闭行为setDefaultCloseOperatio n(JFrame.EXIT_ON_CLOSE);in it();event();public void go()setVisible(true);private void init()Contain ere ontain er=getC onten tPa ne();contain er.setLayout (n ewGridLayout(6, 1);p1= newJPa nel();pl.setLayout (n ull);idLbl=new JLabel(学籍号:);idLbl.setBounds(50,30,50, 20);idlnput=new JTextField();/需要将数字类型转换为字符串类型+/字符串类型-数字类型parseintparseLongidl nput.setText(stude nt.getStude ntid()+);

温馨提示

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

评论

0/150

提交评论