package com.jnzyjsxy.common; import java.sql.ResultSet; import javax.swing.JOptionPane; public class DeptBean { //定义字符串用于存储sql字符串 String sql; //结果集类 ResultSet rs=null; //声明字符串变量 存储从操作界面传过来的人员信息 String field1; String field2; String field3; //添加信息 public void add(String f1,String f2,String f3) { //创建数据库对象 执行数据库里面的方法 链接数据库 执行sql语句 Database DB=new Database(); //将从添加界面传过来的值 付给成员变量 this.field1=f1; this.field2=f2; this.field3=f3; if (field2==null || field2.equals("")) { JOptionPane.showMessageDialog(null, "请输入人员所在一级部门", "错误", JOptionPane.ERROR_MESSAGE); return; } else if (field3==null||field3.equals("")) { JOptionPane.showMessageDialog(null,"请输入人员所在二级部门","错误", JOptionPane.ERROR_MESSAGE); return; } //构建插入字符串 //构建sql字符串时,注意字符型,两侧用单引号做定界符,int,float不用定界符 //传递过来的数据是字符型, //为了插入int数据,进行类型转换-Integer.parseInt(field1) //在此PersonID,DeptID均为int类型,Sqlary为float类型,与书上不同 else { sql="insert into Dept(DeptID,B_Dept,S_Dept) values("+Integer.parseInt(field1)+ ",'"+field2+"','"+field3+"')"; System.out.println(sql); //打开数据库连接 try { DB.openConn(); //执行sql语句 DB.executeUpdate(sql); //提示信息 JOptionPane.showMessageDialog(null, "你成功添加一条新的纪录"); } catch (Exception e) { // TODO: handle exception //出现异常 ,给出提示 System.out.println(e); JOptionPane.showMessageDialog(null, "保存失败 ","错误!", JOptionPane.ERROR_MESSAGE); } //关闭语句对象和链接对象 finally{ DB.closeStmt(); DB.closeConn(); } } } /* * 修改设备信息 */ public void modify(String f1,String f2,String f3){ Database DB=new Database(); this.field1=f1; this.field2=f2; this.field3=f3; if (field2==null || field2.equals("")) { JOptionPane.showMessageDialog(null, "请输入人员所在一级部门", "错误", JOptionPane.ERROR_MESSAGE); return; } else if (field3==null||field3.equals("")) { JOptionPane.showMessageDialog(null,"请输入人员所在二级部门","错误", JOptionPane.ERROR_MESSAGE); return; } //构建插入字符串 //构建sql字符串时,注意字符型,两侧用单引号做定界符,int,float不用定界符 //传递过来的数据是字符型, //为了插入int数据,进行类型转换-Integer.parseInt(field1) //在此PersonID,DeptID均为int类型,Sqlary为float类型,与书上不同 else { sql="insert into Dept(DeptID,B_Dept,S_Dept) values("+Integer.parseInt(field1)+ ",'"+field2+"','"+field3+"')"; System.out.println(sql); //打开数据库连接 try { DB.openConn(); //执行sql语句 DB.executeUpdate(sql); //提示信息 JOptionPane.showMessageDialog(null, "你成功修改一条新的纪录"); } catch (Exception e) { // TODO: handle exception //出现异常 ,给出提示 System.out.println(e); JOptionPane.showMessageDialog(null, "保存失败 ","错误!", JOptionPane.ERROR_MESSAGE); } //关闭语句对象和链接对象 finally{ DB.closeStmt(); DB.closeConn(); } } } /* * 删除信息 根据传过来的PersonId 删除信息 */ public void delete(String f1) { //创建数据库对象 Database DB=new Database(); this.field1=f1;//获取传递过来的参数 //构建删除人员的字符串 sql="delete from Dept where DeptID="+Integer.parseInt(field1); try { DB.openConn(); DB.executeUpdate(sql); System.out.println(sql); JOptionPane.showMessageDialog(null, "成功删除一条新的纪录"); } catch (Exception e) { // TODO: handle exception System.out.println(e); JOptionPane.showMessageDialog(null, "删除失败", "错误", JOptionPane.ERROR_MESSAGE); } finally{ DB.closeStmt(); DB.closeConn(); } } /* * 从Dept表查询所有人员信息,DeptID列显示部门名称 */ public String[][] searchAll() { Database DB=new Database(); //定义二维数组 String[][] sn=null; int row=0;//行数 int i=0;//循环变量 //查询sql字符串 sql="select * from Dept order by DeptID"; try { DB.openConn(); rs=DB.executeQuery(sql); if (rs.last()) { row=rs.getRow();//获取结果集rs中记录数,即行数 } //如果row==0说明rs没有记录 既没有查到符号条件的记录 if (row==0) { //初始化二维数组1行6列 每个元素为空白字符 sn=new String[1][2]; sn[0][0]=""; sn[0][1]=""; sn[0][2]=""; } //否则rs不等于0 else { //根据行数row 初始化二维数组sn sn=new String[row][2]; //让rs指到第一条数据 rs.first(); //将指针移动到上一行 由于上一条语句记录指针到第一条数据 //执行完这条语句后 记录指针移动的rs的头部分 //执行该条语句的作用是保障所有的记录都能满足rs.next()条件 rs.previous(); while (rs.next()) { sn[i][0]=rs.getString("DeptID"); sn[i][1]=rs.getString("B_Dept"); sn[i][2]=rs.getString("S_Dept"); i++; } } }catch (Exception e) { // TODO: handle exception }finally { DB.closeStmt(); DB.closeConn(); } return sn; } /* * 获得新的Dept值 */ public int getId() { Database DB=new Database(); int ID=1; //查询sql,从Person表获取PersonID列的最大值 sql="select max(DeptID) from Dept"; try { DB.openConn(); rs=DB.executeQuery(sql); if (rs.next()) { ID=rs.getInt(1)+1; }else { ID=1; } } catch (Exception e) { // TODO: handle exception } finally { DB.closeStmt(); DB.closeConn(); } return ID; } /* * 根据DeptID查询人员信息,返回人员信息各列值组成的字符数组 */ public String[] search(String f1) { Database DB=new Database(); this.field1=f1; //创建字符串数组 用于记录查询的数据 String[] s =new String[10]; sql="select * from Dept where DeptID="+field1; try{ DB.openConn();//连接数据库 //执行查询,查询结果付给rs,rs为结果集 rs=DB.executeQuery(sql); //如果rs.next为true if (rs.next()) { //获取指定的值 //说明:PersonID'DeptId salary均不是String类型 //但在此简化处理,把取出值看作字符串,赋值给字符数组元素 //方便统一待会返回值 s[0]=rs.getString("DeptID"); s[1]=rs.getString("B_Dept"); s[2]=rs.getString("S_Dept"); }else { s=null; } }catch(Exception e){ }finally { DB.closeStmt(); DB.closeConn(); } return s; } /* * 根据传递过来的ID 返回一级部门—耳机部门 */ public String getDepstr(String string) { // TODO Auto-generated method stub Database DB=new Database(); this.field1=string; //创建字符串数组 用于记录查询的数据 String s = null; sql="select * from Dept where DeptID="+field1; System.out.println(sql); try{ DB.openConn();//连接数据库 //执行查询,查询结果付给rs,rs为结果集 rs=DB.executeQuery(sql); //如果rs.next为true if (rs.next()) { //获取指定的值 //说明:PersonID'DeptId salary均不是String类型 //但在此简化处理,把取出值看作字符串,赋值给字符数组元素 //方便统一待会返回值 s=rs.getString("B_Dept")+"-"+rs.getString("S_Dept"); }else { s=null; } }catch(Exception e){ }finally { DB.closeStmt(); DB.closeConn(); } return s; } }

庞玉栋个人博客、人生苦短-我用Python