个人信息的修改与删除

package tushuguanli;


import java.awt.*;
import java.awt.event.*;
import java.util.*;




import javax.swing.*;

import java.awt.*;

import javax.swing.table.*;


import java.util.*;

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeSelectionModel;
import javax.swing.ButtonGroup;

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;


public class Yhxxxgysc {

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		Yhxxxgysc_1 frame=new Yhxxxgysc_1();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);

	}

}
class Yhxxxgysc_1 extends JFrame
{
	private static final int AUTO_RESIZE_OFF=0;
	Yhxxxgysc_1()
	{
		setTitle("用户信息修改与删除");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setVisible(true);
		
		
		Toolkit tk = Toolkit.getDefaultToolkit();
		Dimension screenSize = tk.getScreenSize();
		int screenHeight = screenSize.height;
		int screenWidth = screenSize.width;
		setSize(screenWidth, screenHeight);
		Container contentPane = getContentPane();
		setLocationRelativeTo(null);
		contentPane.setLayout(null);
		 
		
		myTable=new DefaultTableModel(); 
		 try{
		      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		      conn=DriverManager.getConnection("jdbc:sqlserver://localhost:53104;DatabaseName=tushuguan;",
					"sa", "123");
		  stmt=conn.createStatement();
		  rs=stmt.executeQuery("select * from yhxx");//xx为自己建的表的名称
		  ResultSetMetaData   metaData;
		  metaData = rs.getMetaData();
		  number=metaData.getColumnCount();
		  columnNames=new Vector<String>();
		  rows=new Vector<Vector<Object>>();
		     for(int num=0;num<number;num++)
		   {
		    columnNames.addElement(metaData.getColumnLabel(num+1));
		   }
		   while(rs.next())
		   {
		    Vector<Object> newRow = new Vector<Object>();
		      for (int i = 1; i <= number; i++)
		      {
		        newRow.addElement(rs.getObject(i));
		       }
		      rows.addElement(newRow);
		    myTable=new DefaultTableModel(rows,columnNames);//(vector,vector)
		   }
		   }
		   catch (ClassNotFoundException ex)
		   {
		            System.err.println("Cannot find the database driver classes.");
		            System.err.println(ex);
		            }
		        catch (SQLException ex)
		        {
		            System.err.println("Cannot connect to this database.");
		            System.err.println(ex);
		            }
		
				table=new JTable(myTable);
				  getContentPane().setLayout(null);	
				  JPanel myPanel1=new JPanel();
				  myPanel1.add(table);
				  JScrollPane s = new JScrollPane(table);
				 table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
				  
				 s.setBounds(2,10,800,200);
				  getContentPane().add(s);
				

		JButton btnAdd = new JButton("添加");	//添加按钮
		JButton btnDelete = new JButton("删除");	//删除按钮
		JButton btnUpdate = new JButton("修改");	//修改按钮
		
	    JLabel lb1=new JLabel("用户编号:");
		lb1.setBounds(50, 250, 65, 20);
		contentPane.add(lb1);
		JLabel lb2=new JLabel("用户姓名:");
		lb2.setBounds(50, 280, 65, 20);
		contentPane.add(lb2);
		JLabel lb3=new JLabel("性    别:");
		lb3.setBounds(50, 310, 65, 20);
		contentPane.add(lb3);
		JLabel lb4=new JLabel("年    龄:");
		lb4.setBounds(50, 340, 65, 20);
		contentPane.add(lb4);
		JLabel lb5=new JLabel("押    金:");
		lb5.setBounds(50, 370, 65, 20);
		contentPane.add(lb5);
		JLabel lb6=new JLabel("办理日期:");
		lb6.setBounds(50, 400, 65, 20);
		contentPane.add(lb6);
		JLabel lb7=new JLabel("联系电话:");
		lb7.setBounds(50, 430, 65, 20);
		contentPane.add(lb7);
		JLabel lb8=new JLabel("密    码:");
		lb8.setBounds(50, 460, 65, 20);
		contentPane.add(lb8);
	    txt1 = new JTextField();
		txt1.setBounds(150,250,100,20);
		contentPane.add(txt1);
		txt2 = new JTextField();
		txt2.setBounds(150,280,100,20);
		contentPane.add(txt2);
		txt3 = new JTextField();
		txt3.setBounds(150,340,100,20);
		contentPane.add(txt3);
		txt4 = new JTextField();
		txt4.setBounds(150,370,100,20);
		contentPane.add(txt4);
		txt5 = new JTextField();
		txt5.setBounds(150,400,100,20);
		contentPane.add(txt5);
	    txt6 = new JTextField();
		txt6.setBounds(150,430,100,20);
		contentPane.add(txt6);
		txt7 = new JTextField();
		txt7.setBounds(150,460,100,20);
		contentPane.add(txt7);

		ch= new CheckboxGroup();
		maleCh= new Checkbox("男",true,ch);
		femaleCh= new Checkbox("女",false,ch);
		maleCh.setBounds(160,310,40,20);
		femaleCh.setBounds(220,310,40,20);
		contentPane.add(maleCh);
		contentPane.add(femaleCh);
		
		btnAdd.setBounds(100,500,60,20);
		contentPane.add(btnAdd);
		btnDelete.setBounds(180,500,60,20);
		contentPane.add(btnDelete);
		btnUpdate.setBounds(260,500,60,20);
		contentPane.add(btnUpdate);
		
		
		btnAdd.addActionListener(new Listeneradd() );	
		btnDelete.addActionListener(new Listenerdel() );	
		btnUpdate.addActionListener(new Listenerupd() );	
		table.addMouseListener(new newMouseAdapter()); 
		this.repaint();
	}
	
	private class newMouseAdapter
	extends MouseAdapter {
		public void mouseClicked(MouseEvent me) {
			// 获得当前选择行号(第一行行号为0)
			int rowNumber = table.getSelectedRow();
			// 设置对应输入为选中行的内容
			
			txt1.setText(table.getValueAt(rowNumber, 0).toString().trim());
			
			txt2.setText(table.getValueAt(rowNumber, 1).toString().trim());
			
		    if(table.getValueAt(rowNumber, 2).toString().trim().equals("男"))
		    {
		    	ch.setSelectedCheckbox(maleCh);
		    	
		    }
		    else
		    {
		    	ch.setSelectedCheckbox(femaleCh);
		    }
			
			txt3.setText(table.getValueAt(rowNumber, 3).toString().trim());
			txt4.setText(table.getValueAt(rowNumber, 4).toString().trim());
			txt5.setText(table.getValueAt(rowNumber, 5).toString().trim());
			txt6.setText(table.getValueAt(rowNumber, 6).toString().trim());
			txt7.setText(table.getValueAt(rowNumber, 7).toString().trim());
			
		}
	}
	
	
	//实现事件监听器
	private class Listeneradd
		implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{ 
			String xb;
			if(ch.getSelectedCheckbox()==maleCh)
			{
				xb="男";
			}
			else
			{
				xb="女";
			}
			
			
			try{
			 String r1 = "insert into yhxx values('"+txt1.getText().trim()+"','"+txt2.getText().trim()+"','"+xb+"','"+txt3.getText().trim()+"','" +
					""+txt4.getText().trim()+ "','"+txt5.getText().trim()+"','"+txt6.getText().trim()+"','"+txt7.getText().trim()+"')";
			 stmt.executeUpdate(r1);
			gengxing();
		}catch (SQLException e) {
            System.out.println("SQLException: " + e.getMessage());
        }
		   }
	}
	
	 
	//实现事件监听器
	private class Listenerdel
		implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{ try{
		  String sql="delete from yhxx where 用户编号='"+txt1.getText().trim()+"'";
			 stmt.executeUpdate(sql);
			 gengxing();
		}catch (SQLException e) {
            System.out.println("SQLException: " + e.getMessage());
        }
		   }
	}
	
	//实现事件监听器
	private class Listenerupd
		implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{ try{
			
			String xxb;
			if(ch.getSelectedCheckbox()==maleCh)
			{
				xxb="男";
			}
			else
			{
				xxb="女";
			}
			
			
			
			String sql="update yhxx set 用户姓名='"+txt2.getText().trim()+"',性别='"+xxb+"',押金='"+txt4.getText().trim()+"',联系电话='"+txt6.getText().trim()+"',密码='"+txt7.getText().trim()+"',年龄='"+
			txt3.getText().trim()+"' where 用户编号='"+txt1.getText().trim()+"'";
			 stmt.executeUpdate(sql);   
			 gengxing();
		}catch (SQLException e) {
            System.out.println("SQLException: " + e.getMessage());
        }
		   }
	}
	
	
	
	public void gengxing()
	{try{

	      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	  conn=DriverManager.getConnection("jdbc:sqlserver://localhost:53104;DatabaseName=tushuguan;",
				"sa", "123");//获得连接对象
	  stmt=conn.createStatement();
	rs1=stmt.executeQuery("select * from yhxx");
	   ResultSetMetaData   metaData;
	   metaData = rs1.getMetaData();
	 number=metaData.getColumnCount();
	  columnNames=new Vector<String>();
	  rows=new Vector<Vector<Object>>();
	     for(int num=0;num<number;num++)
	   {
	    columnNames.addElement(metaData.getColumnLabel(num+1));
	   }
	   while(rs1.next())
	   {
	    Vector<Object> newRow = new Vector<Object>();
	      for (int i = 1; i <= number; i++) {
	        newRow.addElement(rs1.getObject(i));
	             }
	      rows.addElement(newRow);
	    myTable=new DefaultTableModel(rows,columnNames);//(vector,vector)
	    ((DefaultTableModel) table.getModel()).setDataVector(rows,columnNames);
	   }
	   }
	   catch (ClassNotFoundException ex) {
	            System.err.println("Cannot find the database driver classes.");
	            System.err.println(ex);
	            }
	        catch (SQLException ex) {
	            System.err.println("Cannot connect to this database.");
	            System.err.println(ex);
	            }}
	
	private JTextField txt1;
	private JTextField txt2;
	private JTextField txt3;
	private JTextField txt4;
	private JTextField txt5;
	private JTextField txt6;
	private JTextField txt7;
	private CheckboxGroup ch;
	private Checkbox maleCh;
	private Checkbox femaleCh;
	private Connection conn;
	private Statement stmt;
	private ResultSet rs,rs1;
	private int number;
	private Vector<Vector<Object>> rows;
	private JTable table;
	private Vector<String> columnNames;
	private TableModel myTable;
	
}

posted on 2017-06-13 20:27  xiaoyun1  阅读(395)  评论(0编辑  收藏  举报