1、Public void executeUpdate(); /更新数据3.1.2类名: StuBean 其中的插入、删除和修改等操作;ResultSet rs=null; /储存sql语句public void stuAdd(String name,String sex,String birth,.String college);/添加学生信息public void StuModify(String num,String name,.,String college);/修改学生信息public void stuDel(String num);/删除学生信息public void stuAllSe
2、arch(String xh,String h1,String h2);/根据指定的学号范围查询学生信息public void actionPerformed(ActionEvent e) /实现各监听器发生的事3.1.3类名: StuMain 创建用户访问数据库的主窗口界面类JFrame ActionListener类JMenuBar mainMenu;JMenu menuSystem ; /建立系统管理菜单组JMenu menuStu;JMenuItem itemAddS;JMenuItem itemEditS;JMenuItem DeleteS; /建立学生管理菜单组public voi
3、d actionPerformed(ActionEvent e);/实现各监听器发生的事 StuSearchSnum 进行指定条件的查询(4)成员变量说明:Container c;JLabel jLabel1,jLabel2;JTextField sFrom,sTo; /设置按钮32 程序流程图3.2.1数据库表格建立程序流程图3.2.2学生信息的插入、删除和修改操作的事件处理器程序流程图4 详细设计41 创建连接数据源类实现为了使java应用程序结构清晰,功能分明,在connDB文件夹下创建一个声明数据库操作变量,包含连接数据源stuDB方法,查询数据方法与更新数据的类DatabaseCon
4、n,其具体代码如下:package connDB;import java.sql.*;public class DatabaseConn /数据库连接 private Statement stmt=null; ResultSet rs=null; private Connection conn=null; String sql; public DatabaseConn() public void OpenConn()throws Exception try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn=DriverManager.getCo
5、nnection(jdbc:odbc:stuDB catch (Exception e)System.err.println(数据库连接:+e.getMessage(); public ResultSet executeQuery(String sql)/查询数据 stmt=null; rs=null; stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); catch (SQLException e)System.er
6、r.println(查询数据: return rs; public void executeUpdate(String sql) /更新数据 stmt.executeQuery(sql); mit(); catch (SQLException e) System.err.println( 更新数据: public void closeStmt() try stmt.close(); catch (SQLException e)释放对象: public void closeConn() tryconn.close(); catch (SQLException ex)+ex.getMessage(
7、); public static String toGBK(String str) if(str=null) str=; else str=new String(str.getBytes(ISO-8859-1),GBK catch (Exception e) System.out.println(e); return str;42 GUI类插入、删除、查询代码的实现为了分别处理不同的问题,在student文件夹下创建了一个专门处理数据操作,临时存储数据的类StuBean,它的功能是接收从窗口输入的数据,编写SQL语句,最后创建DatabaseConn对象访问数据库。具体实现如下:/packag
8、e student;import java.util.*;import javax.swing.*;/import connDB.DatabaseConn;/引入自定义类public class StuBean ResultSet rs = null; String sNum;String sName;String sSex;String sBirth;String sHome; String sEthnic; String sYear; String sMajor; String sCollege; String colName;/ 列名 String colValue;/ 列值 Strin
9、g colValue2; int stuId;/ 学生的新学号 /添加学生信息 public void stuAdd(String name, String sex, String birth, String home, String ethnic, String year, String major, String college) DatabaseConn DB = new DatabaseConn(); this.sName = name;this.sSex = sex;this.sBirth =birth; this.sHome = home;this.sEthnic = ethnic
10、;this.sYear =year; this.sMajor = major;this.sCollege = college; if (sName = null | sName.equals() /姓名不能为空 JOptionPane.showMessageDialog(null, 请输入学生姓名, 错误, JOptionPane.ERROR_MESSAGE); return; else /根据传递的参数编写sql语句 sql = insert into student(sname,ssex,sbirth,shome,sethnic,syear,smajor,scollege) values
11、( + sName+ ,+ sSex+ + sBirth+ + sHome+ + sEthnic+ + sYear+ + sMajor+ + sCollege + ) try DB.OpenConn(); DB.executeUpdate(sql); JOptionPane.showMessageDialog(null, 成功添加一条新的纪录! catch (Exception e) System.out.println(e);保存失败 JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn(); /修改学生信息 publ
12、ic void stuModify(String num, String name, String sex, String birth, String home, String ethnic, String year, String major, String college) this.sNum =num;this.sName = name; this.sBirth = birth;this.sHome = home; this.sEthnic = ethnic; this.sYear = year; this.sMajor = major;) else update student set
13、 sname = + sName + , ssex = + sSex + , sbirth = + sBirth + , shome = + sHome, sethnic = + sEthnic + , syear = + sYear, smajor = + sMajor + , scollege = + sCollege where snum = + Integer.parseInt(sNum) + 成功修改一条新的纪录! catch (Exception e) System.out.println(e);更新失败 / 删除学生信息 public void stuDel(String num
14、) this.sNum = num; sql = delete from student where snum = try DB.OpenConn(); DB.executeUpdate(sql);成功删除一条新的纪录! catch (Exception e) 删除失败 finally DB.closeStmt(); / 根据指定学号查询学生信息 public String stuSearch(String num) String s = new String8;select * from student where snum = + Integer.parseInt(sNum)+ try D
15、B.OpenConn(); rs = DB.executeQuery(sql); if (rs.next() s0 = rs.getString(sname s1 = rs.getString(ssex s2 = rs.getString(sethnic s3 = rs.getString(shome s4 = rs.getString(syear s5 = rs.getString(smajor s6 = rs.getString(scolleges7 = rs.getString(sbirth else s = null; catch (Exception e) finally DB.cl
16、oseStmt(); DB.closeConn(); return s; /根据指定的学号范围查询学生信息 public String stuAllSearch(String xh, String h1,String h2) this.colName = xh;this.colValue = h1;this.colValue2 = h2; String sn = null; int row = 0;int i = 0;select * from student where + colName + between + colValue + and + colValue2 + if (rs.las
17、t() row = rs.getRow(); if (row = 0) sn = null; else sn = new Stringrow9; rs.first(); rs.previous(); while (rs.next() sni0 = rs.getString(snum sni1 = rs.getString( sni2 = rs.getString( sni3 = rs.getString( sni4 = rs.getString( sni5 = rs.getString( sni6 = rs.getString( sni7 = rs.getString( sni8 = rs.g
18、etString( i+; return sn; public int getStuId() /获得新的学号select max(snum) from student if (rs.next() stuId = rs.getInt(1) + 1; else stuId = 1; return stuId; /获得student表中的所有学号snum public String getAllId() String s = null; int row = 0;select snum from student if (row = 0) s = null; else s = new Stringrow
19、; rs.previous(); while (rs.next() si = rs.getString(1); i+; catch (Exception e) System.out.println(e); finally DB.closeStmt();43 数据库设计 首先利用Access创建数据库,在数据库中建立表,创建好数据源之后,利用Class.ForName(JDBC驱动程序名)加载驱动程序,利用connection语句创建一个连接数据库的连接变量,利用Statement语句创建一个SQL语句变量,用以执行SQL语句。值得注意的是,执行SQL语句SELECT的时候,通过executeQury()方法来实现,查询所得结果存放在ResultSet对象中;要执行插入、删除、修改记录SQL语句的时候,是通过excuteUpdate()方法来实现的,不产生ResultSet集对象 44异常事件处理 通过调用ClassNotFound、SQLException等异常类,对系统可能发生的异常事件进行处理,保证系统的正常运行。 / 引入java.sql包 public class Create public static void main(String args) try Class.for
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1