java对mysql的简单操作的综合运用——注册系统

广告位

    本篇博客运用到: 下面是注册系统的完整代码 import java.awt.eve…

 

 

本篇博客运用到:

下面是注册系统的完整代码

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.*; public class zhuce extends JFrame implements ActionListener{ 	static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";   	static final String DB_URL = "jdbc:mysql://localhost:3306/message"; 	static final String USER = "root";     static final String PASS = "123456"; 	JButton jb1=new JButton("确定"); 	JButton jb2=new JButton("返回"); 	JLabel jl1=new JLabel("账号:"); 	JLabel jl2=new JLabel("密码:"); 	JLabel jl3=new JLabel("确认密码:"); 	JTextField jt1=new JTextField(); 	JTextField jt2=new JTextField(); 	JTextField jt3=new JTextField(); 	public zhuce() { 		//添加组件 		this.add(jb1);this.add(jb2); 		this.add(jl1);this.add(jl2);this.add(jl3); 		this.add(jt1);this.add(jt2);this.add(jt3); 		//设置组件大小和位置 		//括号内分别为x坐标,y坐标,宽,高 		jt1.setBounds(90, 18, 180, 25); 		jt2.setBounds(90, 68, 180, 25); 		jt3.setBounds(90, 118, 180, 25); 		jl1.setBounds(44, 12, 70, 35); 		jl2.setBounds(44, 62, 70, 35); 		jl3.setBounds(30, 112, 70, 35); 		jb1.setBounds(60, 160, 70, 35); 		jb2.setBounds(190, 160, 70, 35); 		//按钮添加监听器 		jb1.addActionListener(this); 		jb2.addActionListener(this); 		//设置窗口属性 		this.setTitle("账号注册"); 		this.setSize(350,250); 		this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);  		this.setLocationRelativeTo(null);  		this.setLayout(null); 		this.setResizable(false); 		this.setVisible(true);  	} 	@Override 	public void actionPerformed(ActionEvent e1) { 		// TODO Auto-generated method stub 		if(e1.getSource()==jb1) {//点击jb1 			if(jt1.getText().length()==0) {JOptionPane.showMessageDialog(null, "账号不能为空", "警告",JOptionPane.ERROR_MESSAGE);} 			else if(jt2.getText().length()==0||jt3.getText().length()==0) { 				JOptionPane.showMessageDialog(null, "密码不能为空!", "警告",JOptionPane.ERROR_MESSAGE); 			} 			else if(!jt2.getText().equals(jt3.getText())) { 				JOptionPane.showMessageDialog(null, "两次密码不相同,请重新输入!", "警告",JOptionPane.ERROR_MESSAGE); 			} 			else { 				Connection conn = null; 			      Statement stmt = null; 			      PreparedStatement ps=null; 			      try { 			    	  Class.forName(JDBC_DRIVER); 			    	  conn = DriverManager.getConnection(DB_URL,USER,PASS); 			    	  stmt = conn.createStatement(); 			    	  String sql; 			            sql = "SELECT * FROM login"; 			            ResultSet rs = stmt.executeQuery(sql); 			            int pd=0; 			            while(rs.next()){ 			                // 通过字段检索 			               String id  = rs.getString("id"); 			               if(id.equals(jt1.getText())) { 			                	JOptionPane.showMessageDialog(null, "账号已被注册,请重新输入!", "警告",JOptionPane.ERROR_MESSAGE); 			                	pd=1; 			                	break; 			                	 			                } 			            } 			             			            if(pd==0) { 			            	sql="INSERT INTO login VALUES(?,?)"; 			            	ps=conn.prepareStatement(sql); 			            	ps.setString(1, jt1.getText()); 			            	ps.setString(2, jt2.getText()); 			            	if(ps.executeUpdate()!=0) { 			            	JOptionPane.showMessageDialog(null, "账号注册成功!", "提示",JOptionPane.INFORMATION_MESSAGE ); 			            	//new login(); 			    			//dispose(); 			            	} 			            	} 			            // 完成后关闭 			            rs.close(); 			            stmt.close(); 			            conn.close(); 			      }catch(SQLException se){ 			            // 处理 JDBC 错误 			            se.printStackTrace(); 			        }catch(Exception e){ 			            // 处理 Class.forName 错误 			            e.printStackTrace(); 			        }finally{ 			            // 关闭资源 			            try{ 			                if(stmt!=null) stmt.close(); 			            }catch(SQLException se2){ 			            }// 什么都不做 			            try{ 			                if(conn!=null) conn.close(); 			            }catch(SQLException se){ 			                se.printStackTrace(); 			            } 			        } 			} 		} 		else {//点击jb2 			//new login(); 			//dispose(); 			//由于本段代码只是注册代码,所以将登陆的跳转注释了 			//后面会有整个完整代码 		} 	} 	public static void main(String[] args) { 		// TODO Auto-generated method stub 		new zhuce(); 	} }  

代码运行截图:

运行的界面:
java对mysql的简单操作的综合运用——注册系统
账号或密码为空时,注册失败:
java对mysql的简单操作的综合运用——注册系统
java对mysql的简单操作的综合运用——注册系统
两次密码不相同时,注册失败:
java对mysql的简单操作的综合运用——注册系统
账号已经被人注册时,注册失败:
java对mysql的简单操作的综合运用——注册系统
注册成功:
java对mysql的简单操作的综合运用——注册系统

如有错误
欢迎指出

下一篇:java对mysql的简单操作的综合运用——登录系统(待发布)

 

拾荒的老头

关于作者: 拾荒的老头

为您推荐