| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
wdl
9年前发布

用java实现数据库的增删改查

练习学的,比较适合新手,数据库可以自己建一个,然后改一下代码就行了。
</div>

 

Home.java ~ 6KB         

package xues;      import java.awt.GridLayout;  import java.awt.event.ActionEvent;  import java.awt.event.ActionListener;  import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.util.Vector;    import javax.swing.*;  import javax.swing.table.JTableHeader;    public class Home extends JFrame implements ActionListener{        JScrollPane scpDemo;         JFrame  Add;    JTableHeader jth;    JTable tabDemo;    JTextField text,AddName,AddNumber,AddSex,AddAge,AddPost,AddWage,AddJop;    JLabel name,number,age,sex,wage,post,jop;    JButton anShow,anSet,anSelsct,anClear,anAdd,Addyes,Addno;    String SQLname,SQLsex,SQLpost,SQLjop;    String a[]={SQLname,SQLsex,SQLpost,SQLjop};    int SQLnumber,SQLage,SQLwage;    int b[]={SQLnumber,SQLage,SQLwage};            public Home(){     super("学生管理系统");    this.setSize(400,500);    this.setLayout(null);    this.setLocation(400,100);          this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);          this.setVisible(true);          this.setResizable(false);//钉死          this.text=new JTextField();          this.text.setBounds(10, 20,200, 25);          this.anSelsct=new JButton("查询");          this.anSelsct.setBounds(230,20,70,25);          this.anShow=new JButton("刷新");          this.anShow.setBounds(310,20,70,25);          this.anAdd=new JButton("添加");          this.anAdd.setBounds(20,435,70,25);          this.anSet=new JButton("修改");          this.anSet.setBounds(100,435,70,25);          this.anClear=new JButton("删除");          this.anClear.setBounds(180,435,70,25);          this.scpDemo = new JScrollPane();          this.scpDemo.setBounds(10,50,365,380);          AddName=new JTextField();          AddNumber=new JTextField();          AddAge=new JTextField();          AddSex=new JTextField();          AddPost=new JTextField();          AddWage=new JTextField();          AddJop=new JTextField();                    name=new JLabel("姓名");          number=new JLabel("学号");          age=new JLabel("年龄");          sex=new JLabel("性别");          post=new JLabel("职位");          wage=new JLabel("工资");          jop=new JLabel("地点");                              Addyes=new JButton("确定");          Addno=new JButton("取消");                                        //添加窗口的创建            Add=new  JFrame();                           Add.setTitle("添加");          Add.setSize(350,400);          Add.setLocation(100, 260);          Add.setLayout(new GridLayout(8,2));          Add.add(number);Add.add(AddNumber);          Add.add(name);Add.add(AddName);          Add.add(sex);Add.add(AddSex);          Add.add(age);Add.add(AddAge);          Add.add(post);Add.add(AddPost);          Add.add(wage);Add.add(AddWage);          Add.add(jop);Add.add(AddJop);          Add.add(Addyes); Add.add(Addno);                                       Addyes.addActionListener(this);          Addno.addActionListener(this);          anAdd.addActionListener(this);          anShow.addActionListener(this);          anSet.addActionListener(this);          anSelsct.addActionListener(this);          anClear.addActionListener(this);                                                             this.scpDemo.getViewport().add(tabDemo);                      add(this.scpDemo);           add(this.text);           add(this.anSelsct);           add(this.anShow);                add(this.anAdd);           add(this.anSet);           add(this.anClear);                                                 this.remove(this);//刷新           this.repaint();                     try{           // 获得连接           Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");           Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");           // 建立查询条件                                    String sql="select * from nature";                                PreparedStatement pstm = conn.prepareStatement(sql);           // 执行查询           ResultSet rs = pstm.executeQuery();           // 计算有多少条记录           int count = 0;           while(rs.next()){           count++;           }           rs = pstm.executeQuery();           // 将查询获得的记录数据,转换成适合生成JTable的数据形式           Object[][] info = new Object[count][7];           count = 0;           while(rs.next()){                      info[count][0] = Integer.valueOf( rs.getInt("number"));           info[count][1] = rs.getString("name");           info[count][2] = rs.getString("sex");           info[count][3] = Integer.valueOf( rs.getInt("age") );           info[count][4] = rs.getString("post");           info[count][5] = Integer.valueOf( rs.getInt("wage"));           info[count][6] = rs.getString("jop");                     count++;                               }           // 定义表头           String[] title = {"学号","姓名","性别","年龄","职位","工资","地点"};           // 创建JTable           this.tabDemo = new JTable(info,title);           // 显示表头           this.jth = this.tabDemo.getTableHeader();           // 将JTable加入到带滚动条的面板中           this.scpDemo.getViewport().add(tabDemo);            }catch(ClassNotFoundException cnfe){           JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);           }catch(SQLException sqle){           JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);           }              }        chaxun re=new chaxun();   @Override   public void actionPerformed(ActionEvent e) {            if(e.getSource()==(anAdd)){     Add a=new Add(this,"添加学生信息",true);     re=new chaxun();     tabDemo.setModel(re);             }                        else if(e.getSource()==(anSelsct)){          String name=this.text.getText().trim();     String sql="select * from nature where name='"+name+"'";     chaxun aa=new chaxun(sql);          tabDemo.setModel(aa);            }    else if(e.getSource()==anShow){          tabDemo.setModel(re);    }    else if(e.getSource()==(anClear)){     int i=this.tabDemo.getSelectedRow();     clear aa=new clear(i);     re=new chaxun();     tabDemo.setModel(re);          }    else if(e.getSource()==anSet){          int j=this.tabDemo.getSelectedRow();          revise a=new revise(this,"修改学生信息",true,re,j);          re=new chaxun();     tabDemo.setModel(re);    }       }         }             

main.java ~ 600B         

package xues;    import javax.swing.UIManager;    import com.l2fprod.gui.plaf.skin.Skin;  import com.l2fprod.gui.plaf.skin.SkinLookAndFeel;    public class main  {   public static void main(String args[]){     try {            Skin skin = SkinLookAndFeel.loadThemePack("F://ÐÂ&frac12;¨ÎÄ&frac14;þ&frac14;Ð (2)/Î÷⊃1;Ï/Ƥ·ô");              SkinLookAndFeel.setSkin(skin);            UIManager.setLookAndFeel("com.l2fprod.gui.plaf.skin.SkinLookAndFeel");        }        catch (Exception ex)  {            System.out.println("Ì滻Ƥ·ô´íÎó");        }              Home aa=new Home();         //System.out.println("1");   }  }  

Add.java ~ 4KB         

package xues;    import java.awt.Frame;  import java.awt.GridLayout;  import java.awt.event.ActionEvent;  import java.awt.event.ActionListener;  import java.sql.*;    import javax.swing.*;    class Add extends JDialog implements ActionListener{    JTextField AddName,AddNumber,AddSex,AddAge,AddPost,AddWage,AddJop;    JLabel name,number,age,sex,wage,post,jop;        JButton Addyes,Addno;    Connection con=null;    Statement sql=null;      ResultSet rs=null;      String SQLname,SQLsex,SQLpost,SQLjop;      int SQLnumber,SQLage,SQLwage;     Add(Frame fck,String ckm,Boolean msck){            super(fck, ckm,msck);                                              AddName=new JTextField();           AddNumber=new JTextField();           AddAge=new JTextField();           AddSex=new JTextField();           AddPost=new JTextField();           AddWage=new JTextField();           AddJop=new JTextField();                      name=new JLabel("姓名");           number=new JLabel("学号");           age=new JLabel("年龄");           sex=new JLabel("性别");           post=new JLabel("职位");           wage=new JLabel("工资");           jop=new JLabel("地点");                                 Addyes=new JButton("确定");           Addno=new JButton("取消");           this.add(number);this.add(AddNumber);           this.add(name);this.add(AddName);           this.add(sex);this.add(AddSex);           this.add(age);this.add(AddAge);           this.add(post);this.add(AddPost);           this.add(wage);this.add(AddWage);           this.add(jop);this.add(AddJop);           this.add(Addyes); this.add(Addno);                      this.Addyes.addActionListener(this);           this.Addno.addActionListener(this);           this.setSize(350,400);           this.setLocation(100, 260);           this.setLayout(new GridLayout(8,2));                this.setVisible(true);           this.setResizable(false);     }   @Override   public void actionPerformed(ActionEvent e) {    // TODO Auto-generated method stub    if(e.getSource()==Addyes){      try{             // 获得连接             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");              con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");             // 建立查询条件                                   String recode = " insert into nature values(?,?,?,?,?,?,?)";              PreparedStatement input=con.prepareStatement(recode);                SQLnumber=Integer.parseInt(AddNumber.getText());                          SQLage= Integer.parseInt(AddAge.getText());                      SQLwage= Integer.parseInt(AddWage.getText());                       input.setInt(1, SQLnumber);              input.setString(2, AddName.getText());              input.setString(3,AddSex.getText());              input.setInt(4,SQLage);              input.setString(5,AddPost.getText());              input.setInt(6,SQLwage);              input.setString(7,AddJop.getText());              input.executeUpdate();             JOptionPane.showMessageDialog(null, "添加成功");             this.dispose();                 }           catch(NumberFormatException nu){              JOptionPane.showMessageDialog(null,"你还没有输入哦","错误",JOptionPane.ERROR_MESSAGE);             }                 catch(ClassNotFoundException cnfe){                   JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);             }           catch(SQLException sqle){              JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);             }       finally         {          try {           if(rs!=null)        {         rs.close();        }           if(sql!=null)        {         sql.close();        }        if(con!=null)        {         con.close();        }               } catch (Exception e1){}         }             }                      if(e.getSource()==Addno){     this.dispose();    }     }   }        

chaxun.java ~ 3KB         

package xues;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement;  import java.util.Vector;    import javax.swing.JOptionPane;  import javax.swing.table.AbstractTableModel;     class chaxun extends AbstractTableModel {        Vector ziduan,jilu;        Connection con=null;        PreparedStatement sql=null;       ResultSet rs=null;   @Override   public int getColumnCount() {    // TODO Auto-generated method stub    return this.ziduan.size();   }     @Override   public int getRowCount() {    // TODO Auto-generated method stub    return this.jilu.size();   }     @Override   public Object getValueAt(int hang, int lie) {    // TODO Auto-generated method stub    return ((Vector) this.jilu.get(hang)).get(lie);   }   public chaxun(){    String nul="select * from nature";    this.sqlly(nul);       }   public chaxun(String input){    this.sqlly(input);   }   public String getColumnName(int e){    return (String)this.ziduan.get(e);   }   public void sqlly(String ss){    ziduan=new Vector();           ziduan.add("学号");      ziduan.add("姓名");      ziduan.add("性别");      ziduan.add("年龄");      ziduan.add("职位");      ziduan.add("工资");      ziduan.add("地点");      jilu=new Vector();      try{       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");              con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");             // 建立查询条件              //   sql = "select * from nature";              //sql=con.prepareStatement( " insert into nature values(?,?,?,?,?,?,?)");             sql=con.prepareStatement(ss);          //  sql.executeUpdate();              rs=sql.executeQuery();              while(rs.next()){              Vector hang=new Vector();              hang.add(rs.getInt(1));             hang.add(rs.getString(2));             hang.add(rs.getString(3));             hang.add(rs.getInt(4));             hang.add(rs.getString(5));             hang.add(rs.getInt(6));             hang.add(rs.getString(7));                        jilu.add(hang);                                          }                                     }            catch(NumberFormatException nu){             JOptionPane.showMessageDialog(null,"你还没有输入哦","错误",JOptionPane.ERROR_MESSAGE);            } catch (ClassNotFoundException e) {     // TODO Auto-generated catch block             JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);    } catch (SQLException e) {      // TODO Auto-generated catch block     JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);     }      finally        {         try {          if(rs!=null)       {        rs.close();       }          if(sql!=null)       {        sql.close();       }       if(con!=null)       {        con.close();       }             } catch (Exception e){}        }         }        }  

clear.java ~ 2KB         

package xues;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.Statement;    import javax.swing.JOptionPane;     class clear {         chaxun xx;            public clear(int i){       xx=new chaxun();                   if(i==-1){        JOptionPane.showMessageDialog(null,"请选中要删除的行");        return;       }                             Connection con=null;          PreparedStatement sql=null;         ResultSet rs=null;         Statement sm=null;                String sr=(String) xx.getValueAt(i,1);        try{                  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");               con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");              // 建立查询条件                                             String  cl = "delete  from nature where name=?";                                      sql=con.prepareStatement(cl);            // int ii=Integer.valueOf(sr).intValue();             sql.setString(1,sr);             sql.executeUpdate();                                                                                                                  }        catch(Exception e){         e.printStackTrace();                 }           finally         {          try {           if(rs!=null)        {         rs.close();        }           if(sql!=null)        {         sql.close();        }        if(con!=null)        {         con.close();        }               } catch (Exception e3){}           }                                }             }    

revise.java ~ 5KB         

package xues;    import java.awt.Frame;  import java.awt.GridLayout;  import java.awt.event.ActionEvent;  import java.awt.event.ActionListener;  import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement;    import javax.swing.JButton;  import javax.swing.JDialog;  import javax.swing.JLabel;  import javax.swing.JOptionPane;  import javax.swing.JTextField;    public class revise extends JDialog implements ActionListener {     private JTextField setName,setNumber,setSex,setAge,setPost,setWage,setJop;     private JLabel name,number,age,sex,wage,post,jop;         private JButton Addyes,Addno;     private Connection con=null;     private Statement sql=null;     private ResultSet rs=null;     private String SQLname,SQLsex,SQLpost,SQLjop;     private int SQLnumber,SQLage,SQLwage;         //chaxun xx;      revise(Frame fck,String ckm,Boolean msck,chaxun xx,int j){                super(fck, ckm,msck);               if(j==-1){        JOptionPane.showMessageDialog(null,"请选中要修改的行");       return;               }                                     //xx=new chaxun();                     setNumber=new JTextField(5);         setNumber.setText((String)xx.getValueAt(j,0).toString());             setNumber.setEditable(false);//设置为不能修改,防止出错            setName=new JTextField(5);            setName.setText((String)xx.getValueAt(j,1));            setAge=new JTextField(5);            setAge.setText((String)xx.getValueAt(j,3).toString());            setSex=new JTextField(5);            setSex.setText((String)xx.getValueAt(j,2));            setPost=new JTextField(5);            setPost.setText((String)xx.getValueAt(j,4));            setWage=new JTextField(5);            setWage.setText((String)xx.getValueAt(j,5).toString());            setJop=new JTextField(5);            setJop.setText((String)xx.getValueAt(j,6));                        name=new JLabel("姓名");            number=new JLabel("学号");            age=new JLabel("年龄");            sex=new JLabel("性别");            post=new JLabel("职位");            wage=new JLabel("工资");            jop=new JLabel("地点");                                  Addyes=new JButton("确定");            Addno=new JButton("取消");            this.add(number);this.add(setNumber);            this.add(name);this.add(setName);            this.add(sex);this.add(setSex);            this.add(age);this.add(setAge);            this.add(post);this.add(setPost);            this.add(wage);this.add(setWage);            this.add(jop);this.add(setJop);            this.add(Addyes); this.add(Addno);                        this.Addyes.addActionListener(this);            this.Addno.addActionListener(this);            this.setSize(350,400);            this.setLocation(100, 260);            this.setLayout(new GridLayout(8,2));                 this.setVisible(true);            this.setResizable(false);      }     @Override   public void actionPerformed(ActionEvent e) {    // TODO Auto-generated method stub    if(e.getSource()==Addyes){                try{             // 获得连接             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");              con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=people","sa","123456");             // 建立查询条件                                   String recode = " update nature set name=?,sex=?,age=?,post=?,wage=?,jop=? where number=?";              PreparedStatement input=con.prepareStatement(recode);               SQLnumber=Integer.parseInt(setNumber.getText());                          SQLage= Integer.parseInt(setAge.getText());                      SQLwage= Integer.parseInt(setWage.getText());                     //  input.setInt(1, SQLnumber);              input.setString(1, setName.getText());              input.setString(2,setSex.getText());              input.setInt(3,SQLage);              input.setString(4,setPost.getText());              input.setInt(5,SQLwage);              input.setString(6,setJop.getText());              input.setInt(7, SQLnumber); //修改的条件             input.executeUpdate();             JOptionPane.showMessageDialog(null, "修改成功");             this.dispose();                 }           catch(NumberFormatException nu){              JOptionPane.showMessageDialog(null,"你还没有输入哦","错误",JOptionPane.ERROR_MESSAGE);             }                 catch(ClassNotFoundException cnfe){                   JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);             }           catch(SQLException sqle){            sqle.printStackTrace();              JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);             }       finally         {          try {           if(rs!=null)        {         rs.close();        }           if(sql!=null)        {         sql.close();        }        if(con!=null)        {         con.close();        }               } catch (Exception e1){}         }             }                      if(e.getSource()==Addno){     this.dispose();    }     }            }