大作业—JAVAGUI实现数据库管理系统(1)

啊啊啊我好菜啊 一点点来叭

先设计登陆界面:包含用户名、密码等组件(先简单实现一下功能,等后期在优化界面比如验证码的添加什么的)

然后连接数据库 在数据库先建第一张表然后添加一些数据(随便填了一些)

普通用户登录输入用户名和密码,数据库里有并且对应上则登陆成功进入普通用户的操作界面(功能什么的下次再写),不存在的登陆失败,可以注册。(下一次写注册的界面和功能的实现)

管理员我寻思是输入特定的用户名和密码才可以登陆成功,但是功能界面什么的意思差不多最后再写这个。

先写这些吧!

sql server用户表的建立:

CREATE TABLE PY  
(ID CHAR(10),    //用户名
 PAWD CHAR(20)   //密码
 );

登录界面:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

public class 界面 extends JFrame{	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public 界面() 
	{ 
	setTitle("登录");
	setBak(); //调用背景方法 
	JPanel jp = new JPanel(); //创建个JPanel 
	jp.setOpaque(false); //把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了 
	this.add(jp);
	
	Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();  
	int x = (int)screensize.getWidth();
	int y = (int)screensize.getHeight(); 
	//获取屏幕的长宽并将界面设置成该大小
	this.setSize(x,y);	
	
	
	jp.setLayout(new BorderLayout());
	JLabel jj=new JLabel("欢迎进入用户管理系统!");
	jj.setFont(new Font("宋体",Font.PLAIN,45));//设置字体的字体,样子,大小			
	jp.add(jj,BorderLayout.NORTH); //在整体布局的上方
	jj.setHorizontalAlignment(SwingConstants.CENTER);//居中
	jj.setPreferredSize(new Dimension(0,500));  //宽度300
	
	
	JLabel j1_useranme=new JLabel("请输入用户名");
	j1_useranme.setFont(new Font("宋体",Font.PLAIN,20));
	JTextField ja_username=new JTextField(20);
	JLabel j2_useranme=new JLabel("请输入密码  ");
	j2_useranme.setFont(new Font("宋体",Font.PLAIN,20));
	JPasswordField jb_password=new JPasswordField(20);//密码采用密码输入:即输入后显示**
	
	JPanel p=new JPanel();
	jp.add(p,BorderLayout.CENTER);	
	p.setLayout(new BorderLayout());//在边框布局中的center部分嵌入边框布局	
	JPanel p1=new JPanel();
	JPanel p3=new JPanel();
	JLabel b=new JLabel(" ");
	p1.add(j1_useranme);
	p1.add(ja_username);
	p3.add(j2_useranme);
	p3.add(jb_password);
	p.add(b,BorderLayout.NORTH);
	p.add(p1,BorderLayout.CENTER);
	p.add(p3,BorderLayout.SOUTH);
	b.setPreferredSize(new Dimension(0,40));
	
	JButton j3_ok=new JButton("登录");
	j3_ok.addActionListener(new ActionListener()    //监听登录按钮
			{

		public void actionPerformed(ActionEvent e)
		{
			
			Jdbcs d = new Jdbcs();			
			String jusername=ja_username.getText();//获取账号
			char[] s=jb_password.getPassword();
			String jpassword=new String(s);		//获取密码
			d.compare(jusername, jpassword);   
		}
		}
			);
						
	
	JButton j4_register=new JButton("注册");
	j4_register.addActionListener(new ActionListener()//同理,先写一样的后期再改
			{
	public void actionPerformed(ActionEvent e)
	{
		closeThis();
		new PY();
	}
			});
	
	JPanel p2=new JPanel();	
	p2.add(j3_ok);
	p2.add(j4_register);
	p2.setPreferredSize(new Dimension(0,100));
	jp.add(p2,BorderLayout.SOUTH);//在整体的下方,两个按钮并排
	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	} 
	
	public void setBak()//背景方法
	{ 
		((JPanel)this.getContentPane()).setOpaque(false); 
		ImageIcon img = new ImageIcon("C:\\\\Users\\\\小甘同学\\\\Pictures\\\\2.jpg"); //添加图片的位置
		JLabel background = new JLabel(img);
		this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
		background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight()); 
		} 

	
	public  void closeThis()//关闭当前界面方法
	{
		this.dispose();
	}

	
	public static void main(String[] args)
	{		
		new 界面().setVisible(true);
	}

}

界面是这样的:(当然密码的输入显示是****)
大作业—JAVAGUI实现数据库管理系统(1)_第1张图片
连接数据库:

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

import javax.swing.JOptionPane;
public class Jdbcs { 	
	 
	   Connection con = null;
       Statement statement = null;
       ResultSet res = null;
	
	   String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载jbdc驱动
	   String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SCHOOL";
	   String userName="sa";
	   String userPwd="俺的密码(手动打码)";
	
	public Jdbcs()
	   {
	  try
	 {
	     Class.forName(driverName);
	     System.out.println("加载驱动成功!");
	 }catch(Exception e){
	     e.printStackTrace();
	     System.out.println("加载驱动失败!");
	 }
	 try{
	         con=DriverManager.getConnection(dbURL,userName,userPwd);
	         System.out.println("连接数据库成功!");
	 }catch(Exception e)
	 {
	     e.printStackTrace();
	     System.out.print("SQL Server连接失败!");
	 }        
	   }

	 public void compare(String username, String password) {
		 
	      if(username.equals("")||password.equals(""))
	    {
	   JOptionPane.showMessageDialog(null,"对不起,请输入用户名或密码.","错误!",JOptionPane.ERROR_MESSAGE);
		}
	      else
	      {    		
	    	  String sql="select *  from PY where ID='"+ username +"'"; 
	    	  try {    	    			 		    		  				    			  	    		 		    		    		  		    		
		    		  res = statement.executeQuery(sql);
		    		  
		    		  if(res.next())//如果存在,就验证密码
		    		  {
		    			 
		    			  if(res.getString("PAWD").equals(password))//如果密码正确,进入下一个界面
		    			  {
		    				  new PY();	    					    				  
		    			  }
		    			  else//错误则提示
		    			  {
		    		JOptionPane.showMessageDialog(null,"对不起,输入密码错误.","错误!",JOptionPane.ERROR_MESSAGE);
		    			  }	    			  
		    		  }
		    		  else//如果用户名不存在
		    		  {
		    	   JOptionPane.showMessageDialog(null,"用户名不存在","错误!",JOptionPane.ERROR_MESSAGE);
		    		  }	    		  
	    		
	    		 res.close();
	             con.close();
	             statement.close();
	   
	          } catch (SQLException e) {
	              e.printStackTrace();
	          }
	                   
	     }
		
}
}

如果用户名或密码存在空值:
大作业—JAVAGUI实现数据库管理系统(1)_第2张图片
如果用户名存在但是密码错误:
大作业—JAVAGUI实现数据库管理系统(1)_第3张图片

如果用户名不存在:
大作业—JAVAGUI实现数据库管理系统(1)_第4张图片

如果成功的话进入下一个界面:(现在啥也没有随便插了个图片)
大作业—JAVAGUI实现数据库管理系统(1)_第5张图片
就酱

你可能感兴趣的:(大作业—JAVAGUI实现数据库管理系统(1))