下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA程序设计课程设计报告课题:学生信息管理系统姓 名:赵咏荔学号:同组姓名:肖雅婷刘玲专业班级:信管12101指导教师:刘国清设计时间: 一评阅意见:评定成绩:指导老师签名:年 月 日.31 .系统描述31.1 需要实现的功能1.2 设计的目的32 .分析与设计42.1 功能模块划分42.2 数据库结构描述42.3 系统详细设计文档52.4 各个模块实现方法描述92.5 测试数据及期望结果93 .系统测试124 .总结或心得体会185 .参考文献196 .附录191 .系统描述1.1 需要实现的功能(1)录入学生基本信息的功能学生基本信息主要包括:学号、姓名、性别、年龄、出生地、专业、班级
2、、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。(2)修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修 改。(3)查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。(5)用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。(6)用户登陆信息设置可以修改用户登陆密码1.2 设计的目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数 要求不高,操作不是很复杂的小型客户开发。本程序的管理员可以实现对学生信 息的录入
3、、查询、修改、删除等操作,同时支持查看所有学生信息,学生只能查询自己的信息。程序功能完善,界面简洁美观,布局合理,操作简便,简单易用, 任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用office2007版本的access数据库(.accdb )进行数据存储, 该数据库可实现关系较为简单的数据管理。2 .分析与设计:2.1 功能模块划分学生信息管理系统班委(管理员)普通学生(用户)1查询学学生箕理图1功能模块图2.2 数据库结构描述(1)数据库E-R模型图2学生局部E-R图图3登陆用户局部E-R图(2)数据库关系模型一一二维表1 学生表(
4、student)字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)血stuZynvarchar(30)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分表2登陆权限表(login)字段数据类型说明userIdnvarchar(30)用户名(账号),即登陆Idpasswordnvarchar(30)登陆密码positionnvarchar(30)职位,如班委,普通学生(3)数据流图图4数据流图2.3 系统详细设计
5、文档包名(package)所包含的类说明com.sqlConnectionSqlConn.java用于连接数据库com.T oolsMyFont.java用于设置窗体各组件的字体表3包以及包所包含的类使用进度条与线程结合实现闪屏,初始化Index.javacom.View进入登陆界面Login.java登陆界面,管理员与用户登陆ManageView.java管理员界面,可进行所有操作StuMainView.java普通学生(用户)界面,只能进行部分操作StuQuery.java学生信息查询模块AddStu.java添加学生信息模块UpdateStu.java更新学生信息模块TableModel
6、.java表数据更新模型,学于更新并通过表来显示信息LoginModel.java用户登陆验证模型PurViewModel.java用户权限设置界面UpdateLogin.java用户账户修改界面表 4 SqlConn 类类名类的成员属性与方法说明SqlConn.javaConnection ct得到与数据库的连接PreparedStatement ps实现发送SQL语句给数据库ResultSet rs获得数据库返回的记录集publicResultSetsqlQuery(String sql)实现查询功能的方法public void sqlUpdate(Stringsql)实现添加,修改功能的
7、方法public void sqlDelete(Stringsql)实现删除学生记录的方法public void closeSqlConn()实现关闭数据库连接的功能表5 Index类类名类的成员属性与方法说明Index.javaJProgressBar jpb定义进度条JLabel jl1附于在窗体的北部放一张图片,南部是进度条int width,height附十状取显示屏分辨率大小,以便设置窗口的默认位置public Index()初始化窗口的相关组件public void run()进度条线程的run方法,用于设置线程的属性int 口progressValue定义一个数组,存放进度条显示
8、时需要的数据表6 Login类类名类的成员属性与方法说明Login.javaJLabel jl1,jl2,jl3定义三个标签组件JTextField jtf1定义一个用户输入账号的文本框JPasswordField jpf1密码输入框JButton jb1,jb2提交和清除按钮int width,height用于设置窗口初始位置的变量,即获取显示器的大小ResultSet rs用于接收从数据库返回来的记录集LoginModel loginModel自定义一个模型,把值到登陆验证模型public Login()构造方法,用于初始化登陆窗口的相关组件classBackImageextends JP
9、anel创建一个内部类,并继承JPanle ,用于画背景图片2.4 各个模块实现方法描述sqlConnection 是连接数据库。可实现发送SQL语句给数据库,获得数据库返 回的记录集,实现查询、添加、修改、删除学生记录,关闭数据库连接等功能。Myfont是设置窗体各组件的字体。Index是使用进度条与线程结合实现闪屏,初始化进入登陆界面。Login是登陆界面,管理员与用户登陆,可以分别登入管 理员和用户,管理员与用户的登录进去后可分别按自己的权限操作。2.5 测试数据及期望结果在登入窗口可以分别登入管理员和用户的账号及密码,会进入权限不同的页面,管理员可以实现查询、添加、修改、删除学生记录,
10、还可以查询,修改、删 除管理员表格。而学生只能查询学生记录。例如:图1登入管理员系统学生管理系统谩鼠学号姓名性别年龄出生地专业O总学分70231B杨明族里25四川软件工程7020302519.57C3125任烈华女23广东物理7030101507 5704111刘文雨里22西安建筑设计7040101516.0802105易素敏女20北京自动控制8020101562.5802535黄新海女21山西生物化学8020501543.5802341方玲珍”.23河北土木工程8030203542 580 Mo4霍允萍女20云南财务管理8030304552.0902409金叶珍女25西安会才90204045
11、0g5902423杆慧敏女19陕西电子技术9020404561.0903217林卫婕女19上海化学9030402895.23903223解晓啸女204西广告设计9030402513.5904325肖立本男23安徽信息管理9040303542 5904326里23SSD四点会1122123.090414潇潇女19长沙信管12101SOQ.O图2查询全部信息图3查询个人信息图4添加学生信息图5修改学生信息图6修改学生信息图7查询肖林卫婕的成绩3.系统测试图8系统启动界面图9用户登陆界面图10班委(管理员)界面,即具有完全权限的用户后台界面国学生信息音理系统-言理员0 I回系统学生管理系统隹置I工退
12、工系统-一|图ii班委(管理员)界面子菜单项显示图12普通用户(学生)界面子菜单项显示图13学生信息查询结果显示图14添加学生信息界面图15修改学生信息界面图16显示所有学生信息图17当没有选中一行的时候,不能修改和删除,并弹出提示警告框图18删除文件时的确认对话框 (当点击确认时才会删除,点击取消,则返回主界面)图19显示所有登陆用户信息图20修改用户登陆密码,选中某个用户进行修改图21关闭用户记录,即不显示所有用户信息图22关闭学生记录图23退出系统确认对话框,只有确认时才会退出系统,否则返加主界面图24普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户密码修改,对应的这几
13、项灰色显示,不可点击)四、总结或心得体会1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再 看,就能很快的读懂程序,提高效率。4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实 现的时候调用即可,这样能提高代码的可读性5)养成创建包来存放不同功能的类,
14、使系统的结构更加模块化和规范化。6)在编写代码的时候, 一定要边写边调试, 要适时的设置断点, 或者把某些变量的值输 出到控制台,通过观察和分析变量的值, 便于判断问题所在,同时,需要捕获异常的一定要 把异常信息打印出来,便于分析问题。在老师悉心的指导下,我顺利地完成了本次课程设计,并取得了很大的收获,对以后的软件开发奠定了一定的基础!五、参考文献(1)赵海廷.Java语言程序设计教程.北京:清华大学出版社.2012(2)孙印杰,刘斌,孙玉强.Java编程案例精解.北京:电子工业出版社.2005(3)何梅.java编程实例系列丛书.北京:清华大学出版社,2002(4)杨昭.编著二级Java语言
15、程序设计教程.北京:中国水利水电出版社,2006(5)赵文靖编著.Java程序设计基础与上机指导.北京:清华大学出版社,2006六、附录(1)功能:连接数据库package com.SqlConnection;import java.sql.*;import ;public class SqlConn Connection ct =nullPreparedStatement ps=null ;ResultSet rs =null ;String driver =;String dburl ="jdbc:odbc:stuSystem" ;StringuserName =&qu
16、ot;" ;Stringpassword ="" ;/ 实现查询功能的方法public ResultSet sqlQuery(String sql)try / 加载驱动Class. forName ( driver );ct =DriverManager. getConnection ( dburl , userName , password );ps=ct .prepareStatement(sql);rs =ps.executeQuery(); catch (Exception e) e.printStackTrace();/ TODO: handle exc
17、eptionreturn rs ;/ 实现添加,修改功能的方法public void sqlUpdate(String sql)try / 加载驱动Class. forName ( driver );ct =DriverManager. getConnection ( dburl , userName , password );ps=ct .prepareStatement(sql);/ 执行添加,更新操作int i= ps.executeUpdate(); / 返回一个值,如果为1则表示添加成功。if (i=1) System. out .println( " 数据添加/ 修改成功
18、!" ); else System. out .println( " 数据添加/ 修改失败!" ); catch (Exception e) e.printStackTrace();/ TODO: handle exception/ 实现删除学生记录的方法public void sqlDelete(String sql)try / 加载驱动System. out .println( "ok" );Class. forName ( driver );ct =DriverManager. getConnection ( dburl , userNa
19、me , password ); ps=ct .prepareStatement(sql);System. out .println( "ok1" );/ 执行添加,更新操作int i= ps.executeUpdate(); / 返回一个值,如果为1则表示删除成功。if (i=1)System. out .println( " 数据删除成功!" );else System. out .println( " 数据删除失败!" ); catch (Exception e) e.printStackTrace();/ TODO: hand
20、le exception/ 实现关闭数据库连接的功能public void closeSqlConn()try if ( rs != null ) rs .close();if ( ps!= null ) ps.close();if ( ct != null ) ct .close(); catch (Exception e) e.printStackTrace();/ TODO: handle exception( 2)功能:这是一个字体包,用于美化窗口的字体package com.Tools;importpublic class MyFont publicstaticFontf1 =new
21、 Font(" 宋体" ,Font.PLAIN ,15);publicstaticFontf2 =new Font(" 宋体" ,Font.PLAIN ,13);(3)功能:这是添加学生的界面,通过模式对话(即继承 JDialog对话框)来实现package com.View;import java.awt.*;importimportimportimport javax.swing.*;importimportpublic class AddStu extends JDialog implements ActionListener /定义添加学生信息的
22、相关组件JLabel jl1 , jl2 , jl3 , jl4 , jl5 , jl6 ,jl7 , jl8 ;JTextField jtf1 , jtf2 , jtf3 , jtf4 , jtf5 , jtf6, jtf7 , jtf8 ;JButton jb1 ,jb2 , jb3 ;ResultSet rs ;SqlConn sqlconn ;String No;int stuAge =0;Double stuSourse =0.0;int i =0; /用于判断到底点击了添加还是取消,来决定是否执行数据更新操作public int falg()return i ;/这是添加学生界面的
23、函数封装public void addView()jl1 =new JLabel("学 号:");jl1 .setBounds(20, 20, 60, 25);jl1.setFont(MyFont.f1);jl2 =new JLabel(" 姓名:" );jl2.setFont(MyFont.f1);jl2.setBounds(250, 20,60,25);jl3 =new JLabel(" 性别:" );jl3.setFont(MyFont.f1);jl3 .setBounds(20, 60, 60, 25);jl4=new JLa
24、bel( " 年龄:" );jl4.setFont(MyFont.f1);jl4.setBounds(250, 60,60,25);jl5 =new JLabel( " 出生地:" );jl5 .setFont(MyFont. f1 );jl5 .setBounds(14, 100, 60, 25);jl6=new JLabel( " 专业:" );jl6 .setFont(MyFont. f1 );jl6 .setBounds(20, 140, 60, 25);jl7=new JLabel( " 班级:" );j
25、l7 .setFont(MyFont. f1 );jl7 .setBounds(20, 180, 60, 25);jl8 =new JLabel( " 总学分:");jl8 .setFont(MyFont. f1 );jl8 .setBounds(240, 180, 60, 25);jtf1 =new JTextField(20);jtf1 .setBounds(70, 20, 130, 25);();();jtf1 .setBorder(BorderFactory. createLoweredBevelBorderjtf2 =new JTextField(20);jtf2
26、 .setBounds(300, 20, 130, 25);jtf2 .setBorder(BorderFactory. createLoweredBevelBorder jtf3 =new JTextField(10);jtf3 .setBounds(70, 60, 60, 25);jtf3.setBorder(BorderFactory.createLoweredBevelBorder();jtf4=new JTextField(10);jtf4.setBounds(300, 60, 60, 25);jtf4.setBorder(BorderFactory.createLoweredBev
27、elBorder();jtf5=new JTextField(30);jtf5.setBounds(70, 100, 360, 25);jtf5.setBorder(BorderFactory.createLoweredBevelBorder();jtf6=new JTextField(20);jtf6.setBounds(70, 140, 290, 25);jtf6.setBorder(BorderFactory.createLoweredBevelBorder();jtf7=new JTextField(20);jtf7.setBounds(70, 180, 130, 25);jtf7.s
28、etBorder(BorderFactory.createLoweredBevelBorder();jtf8=new JTextField(20);jtf8.setBounds(300, 180, 130, 25);jtf8.setBorder(BorderFactory.createLoweredBevelBorder();jb1=new JButton( " 添 加 " );jb1 .setFont(MyFont. f1 );jb1 .setBounds(100, 220, 80, 25);jb1 .addActionListener( this );jb2 =new
29、JButton( " 取 消 " );jb2 .setFont(MyFont. f1 );jb2 .setBounds(280, 220, 80, 25);jb2 .addActionListener( this );jb3 =new JButton( " 清 除 " );jb3 .setFont(MyFont. f1 );jb3 .setBounds(190,220,80,25);jb3 .addActionListener( this );this .setLayout( null );/ 把组件添加到窗体组件添出口到窗体this.add(jl1 )
30、;this.add(jtf1 );this.add(jl2 );this.add(jtf2 );this.add(jl3 );this.add(jtf3 );this.add(jl4 );this.add(jtf4 );this.add(jl5 );this.add(jtf5 );this.add(jl6 );this.add(jtf6 );this.add(jl7 );this.add(jtf7 );this.add(jl8 );this.add(jtf8 );this.add(jb1 );this.add(jb2 );this.add(jb3 );model)LIGHT_GRAY); /
31、设 置 背 景public AddStu(Frame Main,String title,boolean/ 调用父类的构造方法,实现模式对话super (Main,title,model);/ 调用添加学生信息界面的的方法this .addView();/ 设置窗体的属性this .setSize(465,300);this .getContentPane().setBackground(Color.必须是在显示窗口前面,否则不能显示出来this .setVisible( true );this .setResizable( false );Overridepublic void action
32、Performed(ActionEvent e) / TODOAuto-generated method stub因此/ 用于判断输入的学号是否存在时,如果存在则返回该学号,否则返回null,在这里,定义一个用于接收该返回的学号/并设置该No的初始值为空,否则报错。String No = null ;/ 当点击了添加按钮if (e.getSource()= jb1 )/*/ 获取文本框的信息String stuId= jtf1 .getText().trim();/ 判断,不能让文本输入框的值为空if (stuId.equals( "" )JOptionPane. show
33、MessageDialog ( this , " 请输入学号!" );return ; / 返回到输入界面,如果没有return 语句,则会回到主界面String stuName= jtf2 .getText().trim();if (stuName.equals( "" )JOptionPane. showMessageDialog ( this , " 请输入姓名!" );return ; / 返回到输入界面,如果没有return 语句,则会回到主界面String stuSex= jtf3 .getText().trim();if
34、 (stuSex.equals( "")JOptionPane. showMessageDialog (this ,"请输入性别!"力return ; /返回到输入界面,如果没有return 语句,则会回到主界面/对于年龄,则需要进行两个判断,一个是不能为空,另一个必须是in型,下面用异常来判断输入的学生年龄是否是整型数*/try stuAge =Integer. parseInt (jtf4 .getText().trim();/ 把从文本框取得的字符串转换成整型,如果抛异常,则输入的不是整形数if (stuAge <1)JOptionPane.
35、 showMessageDialog (this ,"年龄必须大于或等于 1 !");return ; catch (Exception e2) /提示输入的不是整数JOptionPane. showMessageDialog (this ,"请输入一个整数的年龄!");如果抛异常,则返回到添加窗口,后面终止执行*/return ;/ TODO handle exception/*/String stuJg= jtf5 .getText().trim();if (stuJg.equals(JOptionPane. showMessageDialog (
36、this , " 请输入出生地!" );return ; / 返回到输入界面,如果没有return 语句,则会回到主界面String stuZy= jtf6 .getText().trim();if (stuZy.equals( "" )JOptionPane. showMessageDialog ( this , " 请输入专业!" );return ; / 返回到输入界面,如果没有return 语句,则会回到主界面String classId= jtf7 .getText().trim();if (classId.equals(
37、"" )JOptionPane. showMessageDialog ( this , " 请输入班号!" );return ; / 返回到输入界面,如果没有return 语句,则会回到主界面 try /*/stuSourse =Double. parseDouble ( jtf8 .getText().trim();if ( stuSourse =0.0)JOptionPane. showMessageDialog ( this , " 请输入总学分!" );return ; / 返回到输入界面,如果没有return 语句,则会回到
38、主界面 catch (Exception e2) JOptionPane. showMessageDialog ( this , " 请输入一个整数或小数的总学分!");return/ TODO: handle exception/*/ 首先先判断该主键是否在数据库中是否存在,其次分别判断性别是否为“男”或者“女”,年龄是否为数字,总学分是否为浮点型或双精度型String sql= "select * from student where stuId='"+stuId+ "'" ;SqlConn sqlconn= ne
39、w SqlConn();rs =sqlconn.sqlQuery(sql);try while ( rs .next()No=rs .getString(1); / 看到底是否存在该学生的学号,如果存在,则返回该学号,不存在,则为空。 catch (Exception e2) e2.printStackTrace();/ TODO: handle exceptionif (No= null )if (stuSex.equals( " 男 " )|stuSex.equals( " 女 " )/ 调用数据库连接sql= "insertintostu
40、dentvalues('" +stuId+ "','"+stuName +"','" +stuSex+ "','"+stuAge +"','" +stuJg+ "','" +stuZy+ "','"+classId+ "','" +stuSourse +"')" ;sqlconn= new SqlCo
41、nn();sqlconn.sqlUpdate(sql);this . i =1;/ 关闭数据库连接sqlconn.closeSqlConn();this .dispose(); else JOptionPane. showMessageDialog ( this , " 性别应该是男或女! "); else JOptionPane. showMessageDialog ( this , " 该学号已经存在,请输入 新的学号!" );/ 如果点击了取消按钮,则关闭模式对话框else if (e.getSource()= jb2 )this .dispose
42、();else if (e.getSource()= jb3 )jtf1.setText("");jtf2.setText("");jtf3.setText("");jtf4.setText("");jtf5.setText("");jtf6.setText("");jtf7.setText("");jtf8 .setText("");(4)功能:实现闪屏界面package com.View;import java.awt.*;impo
43、rt javax.swing.*;public class Index extends JWindow implements Runnable/定义与进度条相关的组件JProgressBar jpb ; / 定义进度条JLabel jl1 ; /用于在窗体的北部放一张图片,南部是进度条int width , height ; /用于获取显示屏分辨率大小public static void main(String 口args)Index index= new Index();/创建index线程Thread t= new Thread(index);/启动线程t.start();/构造函数pub
44、lic Index()/创建标签,并在标签上放置一张图片);jl1 =new JLabel( new ImageIcon( "image/index1.gif"/创建进度条jpb =new JProgressBar();/设置进度条属性jpb .setStringPainted(true ); /显示当前进度值信息jpb .setIndeterminate(false ); / 确定进度条执行完成后不来回滚动jpb .setBorderPainted(false ); / 设置进度条边框不显示jpb .setBackground(Color. darkGray ); / 设
45、置进度条的背景色/ 添加组件this .add( jl1 ,BorderLayout.NORTH);this .add( jpb ,BorderLayout.SOUTH);/ 设置窗体属性this .setSize(625,359);/ 设置窗体显示的位置width =Toolkit. getDefaultToolkit ().getScreenSize(). width ; height =Toolkit. getDefaultToolkit ().getScreenSize(). height ;this .setLocation( width /2-200, height /2-150)
46、;/ 设置窗口显示this .setVisible( true );/ 进度条线程的run 方法,用于设置线程的属性public void run() / 定义一个数组,存放进度条显示时需要的数据int progressValue=0,8,35,43,49,56,70,99,100;for ( int i=0;i<progressValue. length ;i+)try / 休眠 1 秒,再执行Thread. sleep (1000); catch (InterruptedException e) / TODOAuto-generated catch blocke.printStack
47、Trace();/ 取得数组中的进度值jpb .setValue(progressValuei);/当进度完成后,执行相应的操作,如切换到其他的窗口,同时关闭进度条窗口 new Login();/关闭进度条窗口this .dispose。;(5)功能:这是学生/管理员登陆的窗口,根据权限不同进入不同的后台界面package com.View;importimport com.Tools.*;import java.awt.*;importimportimportimportimportimport javax.swing.*;import ;import ;public class Login
48、 extends JFrame implements ActionListener/定义登陆窗口需要的组件JLabel jl1 , jl2 , jl3 ;JTextField jtf1 ;JPasswordField jpf1 ;JButton jb1 , jb2 ;int width , height ;/定义用于连接数据库的组件,也就是 com.SqlConnection 类下的SqlConn方法SqlConn sqlconn ;/定义用于传送SQL语句的变量String sql ;/定义一个用于接收登陆验证返回来的记录集ResultSet rs ;/声明用于验证登陆用户的模型LoginM
49、odel loginModel ;int flag ;public static void main(String 口args)Login login= new Login();public Login()/创建登陆所需的组件jl1 =new JLabel("账号:");jl1 .setFont(MyFont. f1 );jl1 .setBounds(50,50,60,25);jl2 =new JLabel("密 码:");jl2 .setFont(MyFont. f1 );jl2 .setBounds(50,90,60,25);jtf1 =new JT
50、extField(20);jtf1 .setBounds(110,50,150,25);/设置文本框下凹,三维效果jtf1 .setBorder(BorderFactory.createLoweredBevelBorder();jpf1 =new JPasswordField(20);jpf1 .setBorder(BorderFactory.createLoweredBevelBorder();jpf1 .setBounds(110,90,150,25);jb1 =new JButton("登 陆");jb1 .setFont(MyFont. f1 );jb1 .addA
51、ctionListener( this );jb1 .setBounds(95,130,75,25);jb2 =new JButton( " 取消 " );jb2 .setFont(MyFont. f1 );jb2 .addActionListener( this );jb2 .setBounds(185,130,75,25);/ 添加到窗体/ 先设置窗体的空布局this .setLayout( null );this .add( jl1 );this .add( jtf1 );this .add( jl2 );this .add( jpf1 );this .add( jb1 );this .add(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区医疗行业市场需求与分析报告
- 服装店搭配活动安排
- 复合土工膜刺破强力试验记录
- 防水卷材外观、单位面积质量、尺寸试验记录
- 工作创新成果简述怎么写集合5
- 毕业论文要怎样写课件
- 豫剧伴我成长作文范文
- 论文内审专家评语
- 成本控制论文参考文献2025
- 东南大学研究生学位论文的格式规定
- 2025年全国专利代理师资格考试(专利法律知识)综合试题及答案一
- 2025年赣州市公共资源交易中心招聘编外工作人员5人考试笔试备考试题及答案解析
- 2025民航招飞英语测试题及答案解析
- 电力营销安全教育课件
- DB3208∕T 216-2024 机关中央空调系统运行管理规范
- 2026年湖北国土资源职业学院单招职业技能测试必刷测试卷附答案
- 光伏电池板清洗维护项目分析方案
- 2025年沈阳职业技术学院单招职业技能考试题库附答案详解(满分必刷)
- 华电校园招聘面试常见问题
- 学校各级各岗位消防安全责任制
- 跨境电商的财务知识培训课件
评论
0/150
提交评论