8_14

import java.awt.Dimension;

import java.awt.FlowLayout;

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 javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

 

public class jtable_shujuku extends JFrame {

      JLabel lb1,lb2,lb3;

      JTextField tf1,tf2,tf3;

      JButton bt1,bt2,bt3,bt4;

      JPanel pl;

 //

      JTable table;

      DefaultTableModel dtm;

      //

      Connection con;

      PreparedStatement pstm;

 //构造函数

      public jtable_shujuku()

      {    //创建界面

       setLayout(null);

             setDefaultCloseOperation(EXIT_ON_CLOSE);

             lb1=new JLabel("学号");

             lb2=new JLabel("名字");

             lb3=new JLabel("年龄");

            

             tf1=new JTextField();

             tf2=new JTextField();

             tf3=new JTextField();

            

             bt1=new JButton("添加");

             bt2=new JButton("删除");

             bt3=new JButton("修改");

             bt4=new JButton("查询");

            

             lb1.setBounds(100,60,80,30);

             lb2.setBounds(100,100,80,30);

             lb3.setBounds(100,140,80,30);

            

             tf1.setBounds(170,60,120,30);

             tf2.setBounds(170,100,120,30);

             tf3.setBounds(170,140,120,30);

            

            

             add(lb1);

             add(lb2);

             add(lb3);

            

             add(tf1);

             add(tf2);

             add(tf3);

            

             pl=new JPanel();

             pl.setLayout(new FlowLayout());

             pl.add(bt1);

             pl.add(bt2);

             pl.add(bt3);

             pl.add(bt4);

            

             pl.setBounds(55, 200, 300,40);

             add(pl);

            

     //加入Jtable表格

             String[] column_name={"学号","名字","年龄"};

             Object[][] rows={};

         dtm=newDefaultTableModel(rows,column_name);

             table=new JTable(dtm);         

             JScrollPane sp=new JScrollPane(table);            

             sp.setBounds(80,280,300,170);           

             add(sp);

            

             rechaxun();  //查询方法

            

//添加按钮事件

             bt1.addActionListener(new ActionListener() {

                    public voidactionPerformed(ActionEvent e) {

// -------完善添加的信息(id,name,age)----

String tf1_id=tf1.getText();

                           String tf2_name=tf2.getText();

                           String tf3_age=tf3.getText();

                          

                           if(tf1_id.length()==0){//判断学号是否为空

                                  JOptionPane.showMessageDialog(null,"请输入学号");

                                  return;

                           }

                          

                           if(tf2_name.length()==0){//判断姓名是否为空

                                  JOptionPane.showMessageDialog(null,"请输入姓名");

                                  return;

                           }

                          

                           //判断输入是数字,即也是同时判断输入是否为空

                           try {

                                  Integer.parseInt(tf3_age);//àààààààààààààààààààààà tf3_age定义的是字符串类型

                           } catch (NumberFormatExceptione2) {

                                  JOptionPane.showMessageDialog(null,"年龄为数字");

                                  return;

                           }

    //--------连接数据库-----添加jtable数据

                           try {

                                   Class.forName("oracle.jdbc.driver.OracleDriver");  //建立~桥接器

                                   con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","ora");//连接到数据库

                                 

                                   String sql="insert intostudent(id,name,age) values (?,?,?)";  

                                   pstm=con.prepareStatement(sql);

                                   

                                   pstm.setInt(1, Integer.parseInt(tf1_id));

                                   pstm.setString(2, tf2_name);

                                   pstm.setInt(3, Integer.parseInt(tf3_age));

                                   //

                                   int i=pstm.executeUpdate();

                                         if(i>0){

                                                JOptionPane.showMessageDialog(null, "添加成功");

                                                rechaxun();

                                         }else{

                                                JOptionPane.showMessageDialog(null, "添加失败");

                                         }

 

                                 

                           } catch (ClassNotFoundExceptione1) {

                                  // TODOAuto-generated catch block

                                  e1.printStackTrace();

                           } catch (SQLException e1) {

                                  // TODOAuto-generated catch block

                                  e1.printStackTrace();

                           }

                           rechaxun();

                          

                    }

             });

            

         //删除按钮事件

             bt2.addActionListener(new ActionListener() {

                    public voidactionPerformed(ActionEvent e) {

                           int select_row=table.getSelectedRow();

                           int id=(Integer)table.getValueAt(select_row,0);//获得选中行的学号

              int selectRow=table.getSelectedRow();

                          

                           if(selectRow<0){

                                  JOptionPane.showMessageDialog(null, "请选择要删除的行");

                                  return;

                           }

                          

                                  try {

                                 

                                      Class.forName("oracle.jdbc.driver.OracleDriver");

                                          con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","ora");                   

                                        String sql="delete fromstudent where id=?";

                                          pstm=con.prepareStatement(sql);

                                          pstm.setInt(1, id);

                                         int i=pstm.executeUpdate();

                                        

                                         if(i>0){

                                                JOptionPane.showMessageDialog(null, "删除成功");

                                        

                                         }else{

                                                JOptionPane.showMessageDialog(null, "删除失败");

                                         }

                                        

                                  } catch (Exception ee) {                 

                                         ee.printStackTrace();

                                  }finally{

                                         try {

                                                if(pstm!=null) pstm.close();

                                                if(con!=null) con.close();

                                         } catch (SQLException eee) {                                    

                                                eee.printStackTrace();

                                         }

                                  }                   

                                  rechaxun();

                           }                   

     

             });

            

         //修改按钮事件

             bt3.addActionListener(new ActionListener() {

                    public voidactionPerformed(ActionEvent e) {

                    int selectRow=table.getSelectedRow();

                           if(selectRow<0){

                                  JOptionPane.showMessageDialog(null, "请选择要修改的行");

                                  return;

                           }

                     Tool2.tool2=table;

                     new shujuku_dialog();

                          

                    }

             });

                          

         //查询按钮事件

             bt4.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvente) {

                           rechaxun();

                    }

             });

            

             setSize(430,630);

             setVisible(true);

            

            

      }

    //循环数据

      public void rechaxun()

      {

 

             //清空表中的数据   

             int rowNum=dtm.getRowCount();             

             for(int i=0;i<rowNum;i++){

                    dtm.removeRow(0);

             }     

             ResultSet rs=null;  // ResultSet 处理查询结果,它的对象一次只能看到一个数据行,使用next()方法走到下一行数据

             try {

                    Class.forName("oracle.jdbc.driver.OracleDriver");

             con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","ora");                   

                    String sql="selectid,name,age from student";

                    pstm=con.prepareStatement(sql);

                    rs=pstm.executeQuery();

                    //处理结果集

                    while(rs.next()){

                           int id=rs.getInt("id");

                           Stringname=rs.getString("name");

                           int age=rs.getInt("age");

                           Object[]row={id,name,age};

                           dtm.addRow(row);

                    }

             } catch (Exception e5) {

            

                    e5.printStackTrace();

             }finally{

                    try {

                           if(rs!=null) rs.close();

                           if(pstm!=null) pstm.close();

                           if(con!=null) con.close();

                    } catch (SQLException e8) {

                   

                           e8.printStackTrace();

                    }

             }

      }

 

      public static void main(String[] args) {

     

             new jtable_shujuku();

      }

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值