⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 telbook.java

📁 用JAVA写的关于通讯录的程序,并与数据库进行连接,使用的是ACCESS数据库
💻 JAVA
字号:
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.color.*;
public class TelBook extends JFrame{
	private JButton JBDel,JBEdit,JBExit,JBFirst,JBLast,JBNew,JBNext,JBPrevious;
	private JPanel JPButton1,JPButton2,JPDisplay,JPState,jPanel2;
	private JLabel JLRec,jLabel1,jLabel2,jLabel3;
	private JTextField JTMail,JTName,JTTel;
	public Connection con;
	public DatabaseMetaData dma;
	public ResultSet rs;
	public Statement stmt;
	public int recnum;
	public TelBook(){
		 JPDisplay=new JPanel();
		 jPanel2=new JPanel();
		 JPButton1=new JPanel();
		 JPButton2=new JPanel();
		 JPState=new JPanel();
		 JBPrevious=new JButton();
		 JBFirst=new JButton();
		 JBNext=new JButton();
		 JBLast=new JButton();
		 JBNew=new JButton();
		 JBDel=new JButton();
		 JBEdit=new JButton();
		 JBExit=new JButton();
		 jLabel1=new JLabel();
		 jLabel2=new JLabel();
		 jLabel3=new JLabel();
		 JLRec=new JLabel();
		 JTName=new JTextField();
		 JTTel=new JTextField();
		 JTMail=new JTextField();
		getContentPane().setLayout(new GridLayout(2,2,20,0));
		setTitle("程序");
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
		JPDisplay.setLayout(new GridLayout(3,2,10,10));
		jLabel1.setText("姓名: ");
		JPDisplay.add(jLabel1);
		JTName.setEditable(false);
		JPDisplay.add(JTName);
		jLabel2.setText("电话号码: ");
		JPDisplay.add(jLabel2);
		JTTel.setEditable(false);
		JPDisplay.add(JTTel);
		jLabel3.setText("E-Mail: ");
		JPDisplay.add(jLabel3);
		JTMail.setEditable(false);
		JPDisplay.add(JTMail);
		getContentPane().add(JPDisplay);
		jPanel2.setLayout(new GridLayout(3,1,10,10));
		JLRec.setForeground(Color.red);
		JPState.add(JLRec);	
		jPanel2.add(JPState);
		JBFirst.setText("第一条");
		JBFirst.setForeground(Color.blue);
		JBFirst.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBFirstActionPerformed(evt);
			}
		});
		JPButton1.add(JBFirst);
		JBPrevious.setText("前一条");
		JBPrevious.setForeground(Color.blue);
		JBPrevious.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBPreviousActionPerformed(evt);
			}
		});
		JPButton1.add(JBPrevious);
		JBNext.setText("下一条");
		JBNext.setForeground(Color.blue);
		JBNext.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBNextActionPerformed(evt);
			}
		});
		JPButton1.add(JBNext);
		JBLast.setText("最后一条");
		JBLast.setForeground(Color.blue);
		JBLast.addActionListener(new java.awt.event.ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBLastActionPerformed(evt);
			}
		});
		JPButton1.add(JBLast);
		jPanel2.add(JPButton1);
		JPButton2.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
		JBNew.setText("新增");
		JBNew.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBNewActionPerformed(evt);
			}
		});
		JPButton2.add(JBNew);
		JBDel.setText("删除");
		JBDel.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBDelActionPerformed(evt);
			}
		});
		JPButton2.add(JBDel);
		JBEdit.setText("修改");
		JBEdit.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBEditActionPerformed(evt);
			}
		});
		JPButton2.add(JBEdit);
		JBExit.setText("退出");
		JBExit.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				JBExitActionPerformed(evt);
			}
		});
		JPButton2.add(JBExit);
		jPanel2.add(JPButton2);
		getContentPane().add(jPanel2);
		pack();
	}
	private void JBExitActionPerformed(ActionEvent evt){
		System.exit(0);
	}
	private void JBEditActionPerformed(ActionEvent evt){
		if(JBEdit.getText()=="修改"){
			JTName.setEditable(true);
			JTTel.setEditable(true);
			JTMail.setEditable(true);
			JBEdit.setText("确定");
		}
		else{
			String xm=JTName.getText();
			String dh=JTTel.getText();
			String em=JTMail.getText();
			try{
				long ID=rs.getLong("ID");
				int IDi=(int)ID;
				stmt.executeUpdate("update Tel set 姓名='"+xm+"',电话='"+dh+"',Email='"+em+"'where ID="+ID);
				rs=stmt.executeQuery("select * from Tel");
				rs.absolute(IDi);
				
				dispResultSet(rs);
				JTName.setEditable(false);
				JTTel.setEditable(false);
				JTMail.setEditable(false);
				JBEdit.setText("修改");
					
			}catch(Exception e){;
			}
			
		}
		
	}
	private void JBDelActionPerformed(ActionEvent evt){
		try{
			long ID=rs.getLong("ID");
			stmt.executeUpdate("delete from Tel where ID="+ID);
			rs=stmt.executeQuery("select * from Tel");
			rs.next();
			dispResultSet(rs);
		}catch(Exception e){;
		}
	}
	private void JBNewActionPerformed(ActionEvent evt){
		if(JBNew.getText()=="新增"){
			JTName.setText("");JTName.setEditable(true);
			JTTel.setText("");JTTel.setEditable(true);
			JTMail.setText("");JTMail.setEditable(true);
			JBNew.setText("确定");
		}else{
			String xm=JTName.getText();
			String dh=JTTel.getText();
			String em=JTMail.getText();
			try{
				
				stmt.executeUpdate("insert into Tel(姓名,电话,email)values('"+xm+"','"+dh+"','"+em+"')");
				rs=stmt.executeQuery("select * from Tel");
				rs.last();
				
				dispResultSet(rs);
				JTName.setEditable(false);
				JTTel.setEditable(false);
				JTMail.setEditable(false);
					
			}catch(Exception e){;
			}
			JBNew.setText("新增");
		}
	}
	private void JBLastActionPerformed(ActionEvent evt){
		try{JTName.setEditable(false);
				JTTel.setEditable(false);
				JTMail.setEditable(false);
				if(JBNew.getText()=="确定"){
					JBNew.setText("新增");
				}
				if(JBEdit.getText()=="确定"){
					JBEdit.setText("修改");
				}
			rs.last();dispResultSet(rs);
		}catch(Exception e){System.out.println("Error :"+e);
			
		}
	}
	private void JBNextActionPerformed(ActionEvent evt){
		try{JTName.setEditable(false);
				JTTel.setEditable(false);
				JTMail.setEditable(false);
				if(JBNew.getText()=="确定"){
					JBNew.setText("新增");
				}
				if(JBEdit.getText()=="确定"){
					JBEdit.setText("修改");
				}
			if(!rs.next()) rs.first();
			dispResultSet(rs);
		}catch(Exception e){
			System.out.println("Error: "+e);
		}
	}
	private void JBPreviousActionPerformed(ActionEvent evt){
		try{JTName.setEditable(false);
				JTTel.setEditable(false);
				JTMail.setEditable(false);
				if(JBNew.getText()=="确定"){
					JBNew.setText("新增");
				}
				if(JBEdit.getText()=="确定"){
					JBEdit.setText("修改");
				}
			if(!rs.previous()) rs.last();
			dispResultSet(rs);
		}catch(Exception e){
			System.out.println("Error: "+e);
		}
	}
	private void JBFirstActionPerformed(ActionEvent evt){
		try{JTName.setEditable(false);
				JTTel.setEditable(false);
				JTMail.setEditable(false);
				if(JBNew.getText()=="确定"){
					JBNew.setText("新增");
				}
				if(JBEdit.getText()=="确定"){
					JBEdit.setText("修改");
				}
			rs.first();dispResultSet(rs);
		}catch(Exception e){
			System.out.println("Error: "+e);
		}
	}
	public static void main(String[] args)
	{
		TelBook TB1=new TelBook();
		TB1.show();
		String url="jdbc:odbc:TelBook";
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			TB1.con=DriverManager.getConnection(url);
			TB1.checkForWarning(TB1.con.getWarnings());
			TB1.stmt=TB1.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
			TB1.rs=TB1.stmt.executeQuery("select * from Tel");
			TB1.rs.next();
			TB1.dispResultSet(TB1.rs);
		}catch(SQLException e){
			System.out.println("SQLExcetion caught");
			while(e!=null){
				System.out.println("SQLState:"+e.getSQLState());
				System.out.println("Message:"+e.getMessage());
				System.out.println("Vendor:"+e.getErrorCode());
				e=e.getNextException();
				System.out.println("");
			}
		}catch(Exception e){
			e.printStackTrace()
			;
		}
	}
	public boolean checkForWarning(SQLWarning warn)throws SQLException{
		boolean rc=false;
		dma=con.getMetaData();
		System.out.println("Connected to:"+dma.getURL());
		System.out.println("Driver:"+dma.getDriverName());
		System.out.println("Version:"+dma.getDriverMinorVersion());
		if(warn!=null){
			System.out.println("Warning");
			rc=true;
			while(warn!=null)
			{
				System.out.println("SQLState:"+warn.getSQLState());
				System.out.println("Message:"+warn.getMessage());
				System.out.println("Vendor:"+warn.getErrorCode());
				warn=warn.getNextWarning();
				System.out.println("");
			}
		}
		return rc;
	}
	public void dispResultSet(ResultSet rs)throws SQLException{
		long ID=rs.getLong("ID");
		JTName.setText(rs.getString("姓名"));
		JTTel.setText(rs.getString("电话"));
		JTMail.setText(rs.getString("Email"));
		JLRec.setText("记录号: "+ID);
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -