java可视化界面操作数据库编程_第1页
java可视化界面操作数据库编程_第2页
java可视化界面操作数据库编程_第3页
java可视化界面操作数据库编程_第4页
java可视化界面操作数据库编程_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、天津理工大学实验报ZE告学院(系)名称: 计算机与通信工程学院姓名晴小天学号201356XXXX专业计算机科学与技术班级2013级2班实验项目实验五:小型信息管理系统设计开发批改意见课程名称实验时间Java语言程序设计2015年11月12日、20日、25日第3、4节课程代码实验地点成绩06670567-219教师签字:实验内容:1.参考实验资料,自拟题目,设计制作一个小型信息管理系统。实验目的:1 .理解并掌握Java数据库访问技术。2 .掌握对数据进行增加、删除、修改、查询。实验要求:1 .按照要求编制程序;3 .为增加程序可读性,请在程序中对类成员进行适当注释说明;4 .整理上机步骤,总结

2、经验和体会;5 .认真完成并按时提交实验报告。【实验过程记录(源程序、测试用例、测试结果及心得体会等)】MIS系统系统名称:学生信息管理系统操作系统:Window8.1Java 环境;、jre 1.7.0_21集成开发环境:MyEcI ip se P rofessio nal 2013数据库软件版本: SQL Server 2010连接驱动:jdbc-odbc系统主要功能本项目主要实现了java界面的登录功能,以及登陆后的增删改查功能,主要是对student表实现增加一条学生信息、删除一条学生信息记录、更新学生信息表,以及查询学生信息表的数据添加删除更新查找1.2.数据库结构四、关键功能界面截

3、图数据库名称:SchoolDB数据表:student表具体字段信息如下表:字段名类型长度小数点不是nullsn ame主键)varchar200Vsn amevarchar200Vsde ptvarchar200Vsgradevarchar200Vsaddressvarchar200Vsname, sname, sdept, sgrade 、saddress 分别保存学生的姓名、专业、学院、成绩、家庭住址等 学生基本信息,其中sname为主键且不为空。1.登陆界面用户输入数据库中存在的用户名和密码后,便可登陆成功,否则提示密码错误正确的用户名,错误的密码2.正确的用户名正确的密码后进入学生信息

4、管理系统:添加功能:输入界面中的所有数据之后,点击添加,即可向数据库中加入一条学生记录3. 删除功能:输入姓名,即可把数据库中对应姓名的一条学生信息删除4. 更新功能:输入要修改学生的信息,即可修改该学生在数据库中的记录5. 查找功能:点击查找可以查询数据库中的所有学生信息,每页9条记录,其余的学生信息的点击下一页,可以查看,还可以点击上一页,来切换数据点击下一页:五、关键代码分析DBConnetion用于连接数据库:P ackage edu;p ublic class DBConn ecti on p ublic static Conn ecti on getC onn ecti on()C

5、onn ecti on conn = n ull;Stri ng url = "jdbc:odbc:schoolData"Stri ng user name = "sa"Stri ng p assword = "123456"try Class.forName(driver);conn = DriverMa nager.getC onn ectio n(url,username, password); catch (ClassNotFou ndExce pti on e) e.prin tStackTrace(); catch (SQ

6、LExce ption e) e.prin tStackTrace();retur n conn; 登陆的窗体类 LoginFrame 、 JFrame: package edu;LoginFrame frame;JLabel lname;JLabel lpassword; JTextField tname; JPasswordField tpassword; JButton byes;JButton bno;JPanel p1;JPanel p2;JPanel p3;public class Jswing implements ActionListener private private p

7、rivate private private private private private private privateprivate String userName,password;/* 初始化窗口数据*/public void initData() frame=new LoginFrame(" 登陆 "); frame.setResizable(false); frame.setLayout(new GridLayout(3, 2); Container c=frame.getContentPane(); lname=new JLabel(" 用户名:

8、"); lpassword=new JLabel(" 密 码 : "); tname=new JTextField(8); tpassword=new JPasswordField(8); byes=new JButton(" 确定 "); bno=new JButton(" 取消 "); p1=new JPanel(); p2=new JPanel(); p3=new JPanel(); p1.add(lname); p1.add(tname); c.add(p1);p2.add(lpassword); p2.add(tp

9、assword); c.add(p2);p3.add(byes); p3.add(bno); c.add(p3); frame.setVisible(true); byes.addActionListener(this); bno.addActionListener(this);userName=null;password=null;Overridepublic void actionPerformed(ActionEvent e) if(e.getSource()=bno)System.exit(1);elseif(e.getSource()=byes)userName=tname.getT

10、ext().trim();password=new String(tpassword.getPassword(); boolean result=false;result=SchoolOperate.login(userName, password); if(result)frame.setVisible(false);SwingUtilities.invokeLater(new Runnable() public void run() SchoolInfoGui application = new SchoolInfoGui(); application.getJFrame().setVis

11、ible(true););elseString error=null;if(result=false)H.error=" 用户名或密码错误,请重试! JOptionPane.showMessageDialog(null, error);public static void main(String args) new Jswing().initData();package edu;public class LoginFrame extends JFramepublic LoginFrame(String title) throws HeadlessException super();s

12、etTitle(title);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(540,200, 280, 200);学生信息管理系统主界面的 SchoolInfoGui package edu;public class SchoolInfoGui implements ActionListener private JFrame jFrame;private JPanel jContentPane;private JLabel lblName = null;private JTextField tfName = null;priv

13、ate JLabel lblRegion = null;private JComboBox cbRegion = null;private JLabel lblArea = null;private JTextField tfArea = null;private JLabel lblPopu = null;private JTextField tfPopu = null;private JLabel lblGdp = null;private JTextField tfGDP = null;private JButton btnAdd = null;private JButton btnDe

14、l = null;private JButton btnModify = null;private JButton btnQuery = null;private JButton btnUpPage = null;private JButton btnDownPage = null; private JTable table = null;TableModel tm = null;JScrollPane jsp = null;private JTextField getTfName() if (tfName = null) tfName = new JTextField();tfName.se

15、tBounds(new Rectangle(89, 17, 173, 27);return tfName;private JComboBox getCbRegion() if (cbRegion = null) String str = " 请选择 ", " 计算机科学与技术 ", " 信息安全 ", " 网络工程 ", " 信息与计算科学 ", " 物流工程 ", " 软件工程 "cbRegion = new JComboBox(str);cbRegio

16、n.setBounds(new Rectangle(360, 17, 229, 28);return cbRegion;private JTextField getTfArea() if (tfArea = null) tfArea = new JTextField();tfArea.setBounds(new Rectangle(89, 61, 173, 27);return tfArea; private JTextField getTfPopu() if (tfPopu = null) tfPopu = new JTextField(); tfPopu.setBounds(new Rec

17、tangle(360, 61, 229, 28); return tfPopu; private JTextField getTfGDP() if (tfGDP = null) tfGDP = new JTextField(); tfGDP.setBounds(new Rectangle(89, 105, 173, 27); return tfGDP;private JButton getBtnAdd() if (btnAdd = null) btnAdd = new JButton();btnAdd.setBounds(new Rectangle(46, 152, 71, 30); btnA

18、dd.addActionListener(this);btnAdd.setText(" 添加 ");return btnAdd;private JButton getBtnUpPage() if (btnUpPage = null) btnUpPage = new JButton(" 上一页 "); btnUpPage.addActionListener(this); btnUpPage.setBounds(200, 390, 80, 30);return btnUpPage;private JButton getBtnDownPage() if (bt

19、nDownPage = null) btnDownPage = new JButton("下一页 ");btnDownPage.addActionListener(this); btnDownPage.setBounds(300, 390, 80, 30);return btnDownPage;private JButton getBtnDel() if (btnDel = null) btnDel = new JButton();btnDel.setBounds(new Rectangle(189, 152, 71, 30); btnDel.addActionListen

20、er(this);删除 ");btnDel.setText(" return btnDel;private JButton getBtnModify() if (btnModify = null) btnModify = new JButton(); btnModify.setBounds(new Rectangle(342, 152, 71, 30); btnModify.addActionListener(this);btnModify.setText("更新 ");return btnModify;private JButton getBtnQue

21、ry() if (btnQuery = null) btnQuery = new JButton();btnQuery.setBounds(new Rectangle(484, 152, 71, 30); btnQuery.addActionListener(this);btnQuery.setText(" 查找 ");return btnQuery;JFrame getJFrame() if (jFrame = null) jFrame = new JFrame(); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

22、); jFrame.setBounds(new Rectangle(450, 250, 610, 454); jFrame.setContentPane(getJContentPane();jFrame.setTitle(" 学生信息管理系统 ");return jFrame;private JPanel getJContentPane() if (jContentPane = null) lblGdp = new JLabel();lblGdp.setBounds(new Rectangle(15, 106, 63, 27); lblGdp.setText("

23、家庭住址 ");lblPopu = new JLabel(); lblPopu.setBounds(new Rectangle(285, 61, 63, 27); lblPopu.setText("成绩 ");lblArea = new JLabel();lblArea.setBounds(new Rectangle(15, 61, 63, 27); lblArea.setText("学院 ");lblRegion = new JLabel();lblRegion.setBounds(new Rectangle(285, 17, 63, 27)

24、;lblRegion.setText("专业 ");lblName = new JLabel(); lblName.setBounds(new Rectangle(15, 17, 63, 27); lblName.setText("姓名 ");jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(lblName, null); jContentPane.add(getTfName(), null); jContentPane.add(lblRegion, n

25、ull); jContentPane.add(getCbRegion(), null); jContentPane.add(lblArea, null); jContentPane.add(getTfArea(), null); jContentPane.add(lblPopu, null); jContentPane.add(getTfPopu(), null); jContentPane.add(lblGdp, null); jContentPane.add(getTfGDP(), null); jContentPane.add(getBtnAdd(), null); jContentPa

26、ne.add(getBtnDel(), null); jContentPane.add(getBtnModify(), null); jContentPane.add(getBtnQuery(), null); jContentPane.add(getBtnUpPage(), null); jContentPane.add(getBtnDownPage(), null); return jContentPane;public void actionPerformed(ActionEvent e) if (e.getActionCommand().equals(" selectAll(

27、); else if (e.getActionCommand().equals(" selectDownPage(); else if (e.getActionCommand().equals(" selectUpPage(); else if (e.getActionCommand().equals(" if (tfName.getText().equals("")| cbRegion.getSelectedItem().equals("| tfArea.getText().equals("") | tfPopu

28、.getText().equals("") | tfGDP.getText().equals("") JOptionPane.showMessageDialog(jFrame, " else Student co = new Student(); co.setSname(tfName.getText(); co.setSpro(String) cbRegion.getSelectedItem(); co.setSdept(tfArea.getText(); co.setSgrade(tfPopu.getText();查找 ") 下一页

29、 ") 上一页 ") 添加") 请选择 ")请填写相关信息 ");co.setSaddress(tfGDP.getText();boolean flag = SchoolOperate.add(co);if (flag) JOptionPane.showMessageDialog(jFrame, " else JOptionPane.showMessageDialog(jFrame, " else if (e.getActionCommand().equals("if(!tfName.getText().equal

30、s("")String key = tfName.getText();boolean flag = SchoolOperate.del(key);if (flag) JOptionPane.showMessageDialog(jFrame, " else JOptionPane.showMessageDialog(jFrame, "else JOptionPane.showMessageDialog(jFrame, " else if (e.getActionCommand().equals("if (!tfName.getText(

31、).equals("")&& !cbRegion.getSelectedItem().equals("&& !tfArea.getText().equals("")&& !tfPopu.getText().equals("")&& !tfGDP.getText().equals("") Student cou = new Student(); cou.setSname(tfName.getText();cou.setSpro(String)c

32、bRegion.getSelectedItem(); cou.setSdept(tfPopu.getText();cou.setSgrade(tfArea.getText();cou.setSaddress(tfGDP.getText();boolean flag = SchoolOperate.modify(cou); if(flag)JOptionPane.showMessageDialog(jFrame, "else JOptionPane.showMessageDialog(jFrame, " else JOptionPane.showMessageDialog(j

33、Frame, "public void setValues(Object obj) 添加成功添加失败删除") 删除成功删除失败");");");");请填写一个国家名字 ");更新") 请选择 ")更新成功 ");更新失败 ");请填写相应的信息 ");public void selectAll() String spro=cbRegion.getSelectedItem().toString(); List<Student> list = SchoolOpera

34、te.queryFirst(); Object datavalues = new Objectlist.size()5;for (int i = 0; i < list.size(); i+) Student co = list.get(i); datavaluesi0 = co.getSname(); datavaluesi1 = co.getSpro(); datavaluesi2 = co.getSdept(); datavaluesi3 = co.getSgrade(); datavaluesi4 = co.getSaddress(); tm = new TableModel()

35、; this.setValues(datavalues); table = new JTable(tm); table.updateUI();JScrollPane jsp = new JScrollPane(table); jsp.setBounds(0, 200, 600, 182); jContentPane.add(jsp); public void selectDownPage() List<Student> list = SchoolOperate.downPage(); if (list != null) Object datavalues = new Objectl

36、ist.size()5; for (int i = 0; i < list.size(); i+) Student co = list.get(i);datavaluesi0 = co.getSname(); datavaluesi1 = co.getSpro();datavaluesi2 = co.getSdept(); datavaluesi3 = co.getSgrade();datavaluesi4 = co.getSaddress(); this.setValues(datavalues); table.updateUI();已经是最后一页 "); else JOpt

37、ionPane.showMessageDialog(jFrame, " public void selectUpPage() List<Student> list = SchoolOperate.upPage();if (list != null) Object datavalues = new Objectlist.size()5; for (int i = 0; i < list.size(); i+) Student co = list.get(i);datavaluesi0 = co.getSname();datavaluesi1 = co.getSpro(

38、);datavaluesi2 = co.getSdept();datavaluesi3 = co.getSgrade();datavaluesi4 = co.getSaddress();this.setValues(datavalues); table.updateUI(); else 已经是第一页 ");JOptionPane.showMessageDialog(jFrame, "针对数据库的增删改查操作方法类 ;package edu;public class SchoolOperate static int i = 1;static int x = 0; public

39、 static List<Student> queryFirst() String sql = "select top 9 * from student order by sname" List<Student> list = query(sql);return list;public static List<Student> downPage() int y = queryCount(); List<Student> list = null;int count = 0; /总页数if (y % 5 = 0) count =

40、y / 5; else count = y / 5 + 1;if (i < count) x = (+i) - 1) * 5;String sql = "select top "+ " * from (select * from student where sname not in(select top "+ x + " sname from student order by sname) as A " list = query(sql); else if (i >= count) list = null;return l

41、ist;public static boolean login(String userName,String password) boolean result=false;Connection con = DBConnection.getConnection();String sql="select passWord from login where userName="PreparedStatement ps = null;ResultSet rs = null;tryps=con.prepareStatement(sql);ps.setObject(1, userNam

42、e); rs=ps.executeQuery();while(rs.next() if(password.equals(rs.getString("passWord").trim() result=true;catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();finallytryif(rs!=null)rs.close();catch(SQLException e)e.printStackTrace();try if(ps!=null) ps.close(); catch

43、(SQLException e) e.printStackTrace(); tryif(con!=null)con.close();catch(SQLException e)e.printStackTrace(); return result;public static int queryCount() int count = 0;Connection conn = DBConnection.getConnection(); String sql = "select count(*) from student"Statement stmt = null;ResultSet

44、rs = null;try stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while (rs.next() count = rs.getInt(1); catch (SQLException e) e.printStackTrace(); finally try if (rs != null)rs.close();if (stmt != null)stmt.close();if (conn != null)conn.close(); catch (SQLException e) e.printStackTrace();r

45、eturn count;public static List<Student> query(String sql) Connection conn = DBConnection.getConnection(); List<Student> list = new ArrayList<Student>(); Statement stmt = null;ResultSet rs = null;try stmt = conn.createStatement();rs = stmt.executeQuery(sql);while (rs.next() Student

46、cou = new Student(); cou.setSname(rs.getString(1);cou.setSpro(rs.getString(2); cou.setSdept(rs.getString(3);cou.setSgrade(rs.getString(4); cou.setSaddress(rs.getString(5);list.add(cou); catch (SQLException e) e.printStackTrace(); finally try if (rs != null)rs.close();if (stmt != null) stmt.close();i

47、f (conn != null) conn.close(); catch (SQLException e) e.printStackTrace(); return list;public static List<Student> upPage() List<Student> list = null;if (i > 2) x = (-i) - 1) * 5;String sql = "select top "+ " * from (select * from student where sname not in(select top &

48、quot;+ x + " sname from student order by sname) as A " list = query(sql); else if (i = 2) list = queryFirst();i-; else if (i < 2) list = null;return list;public static boolean add(Student cou) Connection conn = DBConnection.getConnection(); PreparedStatement pstmt = null;String sql = &q

49、uot;insert into student values(,)"int x = 0;try pstmt = conn.prepareStatement(sql);pstmt.setString(1, cou.getSname();pstmt.setString(2, cou.getSpro(); pstmt.setString(3, cou.getSdept();pstmt.setString(4, cou.getSgrade();pstmt.setString(5, cou.getSaddress();x = pstmt.executeUpdate(); catch (SQLE

50、xception e) e.printStackTrace(); finally try if (pstmt != null) pstmt.close();if (conn != null) conn.close(); catch (SQLException e) e.printStackTrace();if (x = 1) return true; else return false;public static boolean del(String key) Connection conn = DBConnection.getConnection(); PreparedStatement s

51、tmt = null;String sql = "delete from student where sname =" int x = 0;try stmt = conn.prepareStatement(sql); stmt.setString(1, key);x = stmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally try if (stmt != null) stmt.close();if (conn != null) conn.close(); catch (SQLException e) e.printStackTrace();if (x = 1) return true; else return false;public static boolean modify(Student cou) Connection conn = DBConnection.getConnection();PreparedStatement pstmt = null;String sql = "update student set spro=,sdept=,sgrade=,saddress= where sname =" int x = 0;try ps

温馨提示

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

评论

0/150

提交评论