JavaSwing(GUI窗口)+Mysql实现的汽车租赁系统(角色:普通用户 管理员 用户管理、车辆管理(1)

					this.connDB();
					String sql = "select \* from user where username ='"+field1.getText()+"'";
					rs = stmt.executeQuery(sql);
					if(rs.next())
					{
						JOptionPane.showMessageDialog(null, "此账号已经存在!");
						field1.setText("");
						success = 0;
						this.closeDB();
					}
				} catch (HeadlessException e2) {
					e2.printStackTrace();
				} catch (SQLException e2) {
					e2.printStackTrace();
				}//这个trycatch模块用来判断 创建账号之前数据库有没有此账号!,如果有 success = 0,就进入不了下面创建账号的语句
			
			if(field2.getText().equals(field3.getText())&&success==1)
			{
				
				String str = "insert into user values('" + field1.getText() + "','" +field2.getText()+"')";
				try {
					stmt.executeUpdate(str);
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
				JOptionPane.showMessageDialog(null, "注册成功!");
				this.dispose();
				new Login();
			}
			else
			{
				this.closeDB();
				if(success == 1)
				{
					JOptionPane.showMessageDialog(null,"两次输入的密码不匹配!" );
				}
			}
				
		 
				
		}
	}
	else if(source == buttonOfFanhui)
	{
		this.dispose();
		new Login();
	}
	
	
}

}


登录  
 Login.java



package Index;
import java.awt.FlowLayout;
import java.sql.*;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import Guanliyuan.;
import Yonghu.
;
public class Login extends JFrame implements ActionListener{

JTextField zhanghao_field;
JPasswordField mima_field;
JRadioButton yonghu_radioButton,guanliyuan_radioButton;
JButton login_button,zhuce_button;
Box box1,box2,box3,box4,basebBox;//账号,密码,两个radiobutton,两个按钮都是用行式盒子布局。 basebox用列式把他们包裹起来。
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
public Login()
{
	setLayout(new FlowLayout());
	init();
	setVisible(true);

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 200, 500, 500);
setTitle(“登陆界面”);
}

void init()
{
	
	box1 = Box.createHorizontalBox();
	box1.add(new JLabel("账号:"));
	box1.add(Box.createHorizontalStrut(8));
	zhanghao_field = new JTextField(15);
	box1.add(zhanghao_field);//登陆界面 账号和输入框的一行
	
	box2 = Box.createHorizontalBox();
	box2.add(new JLabel("密码:"));
	box2.add(Box.createHorizontalStrut(8));
	mima_field = new JPasswordField(15);
	box2.add(mima_field);//登陆界面密码和输入框的一行
	
	box3 = Box.createHorizontalBox();
	ButtonGroup group = new ButtonGroup();
	yonghu_radioButton = new JRadioButton("用户");
	group.add(yonghu_radioButton);
	yonghu_radioButton.addActionListener(this);
	box3.add(yonghu_radioButton);
	box3.add(Box.createHorizontalStrut(8));
	guanliyuan_radioButton = new JRadioButton("管理员");
	group.add(guanliyuan_radioButton);
	guanliyuan_radioButton.addActionListener(this);
	box3.add(guanliyuan_radioButton);//登陆界面 单选框
	
	
	box4 = Box.createHorizontalBox();
	login_button = new JButton("登陆");
	login_button.addActionListener(this);
	box4.add(login_button);
	box4.add(Box.createHorizontalStrut(8));
	zhuce_button = new JButton("注册");
	zhuce_button.addActionListener(this);
	box4.add(zhuce_button);//登陆界面两个按钮
	
	
	basebBox = Box.createVerticalBox();
	basebBox.add(Box.createVerticalStrut(50));
	basebBox.add(box1);
	basebBox.add(Box.createVerticalStrut(10));
	basebBox.add(box2);
	basebBox.add(Box.createVerticalStrut(30));
	basebBox.add(box3);
	basebBox.add(Box.createVerticalStrut(80));
	basebBox.add(box4);//把4个盒子放一个大盒子
	
	add(basebBox);
		
}

public void connDB() { // 连接数据库
	try {
		Class.forName("com.mysql.jdbc.Driver");//注册驱动
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
	try {//创建连接
		con = DriverManager.getConnection("jdbc:mysql://localhost:3306/car\_rental", "root", "");
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
}

public void closeDB() // 关闭连接
{
	try {
		stmt.close();
		con.close();
	} 
	catch (SQLException e) {
		e.printStackTrace();
	}
	
}
@Override
public void actionPerformed (ActionEvent e) {
	Object source = e.getSource();
	String username = null;
	String adminname = null;
	String admin_password = null;
	String user_password = null;
	if (source == login_button)//如果点击的是登陆按钮,就会判断radiobutton选择的是什么,做出相应的响应
	{
		if(!yonghu_radioButton.isSelected()&&!guanliyuan_radioButton.isSelected())//radiobutton没选择
		{
			JOptionPane.showMessageDialog(null, "请选择身份!");
		}
		else if (zhanghao_field.getText().equals("") || mima_field.getText().equals(""))
		{// 判断是否输入了用户名和密码
			JOptionPane.showMessageDialog(null, "登录名和密码不能为空!");
		} 
		else 
		{
			this.connDB();
			try
			{
				stmt = con.createStatement();
			} 
			catch (SQLException e2)
			{
				e2.printStackTrace();
			}
			if(guanliyuan_radioButton.isSelected())//如果选择的是管理员的按钮
			{	
			
			 try {
					
					String sql ="select \* from admin where adminname ='"+zhanghao_field.getText()+"'";
					rs = stmt.executeQuery(sql);
					if(rs.next())
					{
						adminname = rs.getString(1);
						admin_password = rs.getString(2);
						if(!mima_field.getText().equals(admin_password))
						{
							JOptionPane.showMessageDialog(null, "密码错误!");
							mima_field.setText("");
								
						}
						else 
						{
							this.dispose();
							new Guanliyuan(false);
						}
					}
					else
					{
						JOptionPane.showMessageDialog(null, "此账号没有管理员权限!");
						zhanghao_field.setText("");
						mima_field.setText("");
					}							
				} catch (HeadlessException e1) {
					e1.printStackTrace();
				} catch (SQLException e1) {
				e1.printStackTrace();
				}	
			}
			else //选择的是user按钮
			{
				
				try {
				
						String sql ="select \* from user where username ='"+zhanghao_field.getText()+"'";
						rs = stmt.executeQuery(sql);
						if(rs.next())
						{
							username = rs.getString(1);
							user_password = rs.getString(2);
							if(!mima_field.getText().equals(user_password))
							{
								JOptionPane.showMessageDialog(null, "密码错误!");
								mima_field.setText("");
									
							}
							else 
							{
								this.dispose();
								new Yonghuduan(zhanghao_field.getText());
							}
						}
						else
						{
							JOptionPane.showMessageDialog(null, "不存在此账号,请注册!");
							zhanghao_field.setText("");
							mima_field.setText("");
						}							
					} catch (HeadlessException e1) {
						e1.printStackTrace();
					} catch (SQLException e1) {
					e1.printStackTrace();
					}
			}
	  }
	
	}
	else if(source == zhuce_button)
	{
	
		this.dispose();
		new Zhuce();
	}

}

}


管理员  
 GunaLiYuan.java



package Guanliyuan;
import java.awt.BorderLayout;
import Yonghu.*;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.FieldPosition;

import javax.naming.InitialContext;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableColumn;

import Index.*;
public class Guanliyuan extends JFrame implements ActionListener{

/\*

*
* 管理员端的界面
*/
JTable table;
JLabel label1,label2,label3,label4;
Object a[][];
Object name[] = {“编号”,“车型”,“车主”,“价格(元/天)”,“颜色”,“是否被租用”,“租用的用户”};
JButton buttonOfXinxiluru,buttonOfXinxiliulan,buttonOfDelete,buttonOfLogout,buttonOfXiangXi,buttonOfXiugai;
Box box1,box2;
JTextField field,field2,field3;
JPanel jPanel4,jPanel5;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

public Guanliyuan(Boolean success)
{
	
	init();
	setVisible(true);

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 200, 625, 490);
setTitle(“管理员界面”);
if(success)//successs是一个boolean类型,如果为true,打开此窗口直接信息浏览,false表里面没有信息,需要点击信息浏览!
{
xinXiLiuLan();

	}
}

void init()
{
	label1 = new JLabel("汽车租赁信息管理系统");
	buttonOfXinxiluru = new JButton(" 汽车信息录入 ");
	buttonOfXinxiluru.addActionListener(this);
	buttonOfXinxiliulan = new JButton(" 汽车信息浏览 ");
	buttonOfXinxiliulan.addActionListener(this);
	buttonOfDelete = new JButton(" 删 除 ");
	buttonOfDelete.addActionListener(this);
	buttonOfLogout = new JButton(" 退 出 登 录 ");
	buttonOfLogout.addActionListener(this);
	buttonOfXiugai = new JButton(" 修 改 ");
	buttonOfXiugai.addActionListener(this);
	buttonOfXiangXi = new JButton(" 详 细 信 息 ");
	buttonOfXiangXi.addActionListener(this);
	label2 = new JLabel("待删除信息编号:");
	label3 = new JLabel("待修改信息的编号:");
	label4 = new JLabel("待查询详情的编号:");
	field = new JTextField();
	field2 = new JTextField();
	field3 = new JTextField();
	
	a = new Object[50][7];
	table = new JTable(a, name);//组件的创建
	table.setEnabled(false);
	JScrollPane scrollPane = new JScrollPane(table);
	
	box1 = Box.createVerticalBox();
	box1.add(Box.createVerticalStrut(20));
	box1.add(buttonOfXinxiluru);
	box1.add(Box.createVerticalStrut(10));
	box1.add(buttonOfXinxiliulan);
	box1.add(Box.createVerticalStrut(15));
	box1.add(label2);
	box1.add(Box.createVerticalStrut(5));
	box1.add(field);
	box1.add(Box.createVerticalStrut(5));
	box1.add(buttonOfDelete);
	box1.add(Box.createVerticalStrut(25));
	box1.add(label3);
	box1.add(Box.createVerticalStrut(5));
	box1.add(field2);
	box1.add(Box.createVerticalStrut(5));
	box1.add(buttonOfXiugai);
	box1.add(Box.createVerticalStrut(25));
	box1.add(label4);
	box1.add(Box.createVerticalStrut(5));
	box1.add(field3);
	box1.add(Box.createVerticalStrut(5));
	box1.add(buttonOfXiangXi);
	box1.add(Box.createVerticalStrut(40));
	box1.add(buttonOfLogout);
	
	box2 = Box.createHorizontalBox();
	box2.add(Box.createHorizontalStrut(10));
	box2.add(box1);   //左边的按钮部分用 box布局
	
	jPanel4 = new JPanel();
	jPanel5 = new JPanel();
	jPanel4.setLayout(new BorderLayout());
	jPanel4.add(box2,BorderLayout.NORTH);//把左边的按钮部分放到jpanel4中。

// jPanel1 = new JPanel();
// jPanel2 = new JPanel();
// jPanel3 = new JPanel();
// jPanel4 = new JPanel();
// jPanel5 = new JPanel();
//
// jPanel1.setLayout(new BorderLayout());
// jPanel1.add(label2,BorderLayout.NORTH);
// jPanel1.add(field,BorderLayout.CENTER);
// jPanel1.add(buttonOfDelete,BorderLayout.SOUTH);//把删除的模块放一个jpanel1里
//
// jPanel2.setLayout(new BorderLayout());
// jPanel2.add(jPanel1,BorderLayout.NORTH);
// jPanel2.add(buttonOfLogout,BorderLayout.CENTER);//把删除模块和 退出登录模块放一个jpanel2里
//
// jPanel3.setLayout(new BorderLayout());
// jPanel3.add(buttonOfXinxiluru,BorderLayout.NORTH);
// jPanel3.add(buttonOfXinxiliulan,BorderLayout.CENTER);//信息录入浏览按钮放到jpanel3里
//
// jPanel4.setLayout(new BorderLayout());
// jPanel4.add(jPanel3,BorderLayout.NORTH);
// jPanel4.add(jPanel2,BorderLayout.CENTER);//把jpanel 2 3 放到 jpanel4里
//
jPanel5.setLayout(new BorderLayout());
jPanel5.add(label1,BorderLayout.NORTH);
jPanel5.add(scrollPane,BorderLayout.CENTER);//把表格 放jpanel5里

	this.setLayout(new BorderLayout());
	add(jPanel5,BorderLayout.EAST);
	add(jPanel4,BorderLayout.WEST);//把两个大的panel放到窗口里面

	
	
}


public void connDB() { // 连接数据库
	try {
		Class.forName("com.mysql.jdbc.Driver");//注册驱动
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
	try {//创建连接
		con = DriverManager.getConnection("jdbc:mysql://localhost:3306/car\_rental", "root", "");
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
}

public void closeDB() // 关闭连接
{
	try {
		stmt.close();
		con.close();
	} 
	catch (SQLException e) {
		e.printStackTrace();
	}
	
}

public void xinXiLiuLan()//信息浏览的方法,因为删除数据后会刷新一下,自动调用此函数。
{
	int i=0;
	 while(i<50)
	 {
		 a[i][0]=" ";
		 a[i][1]=" ";
		 a[i][2]=" ";
		 a[i][3]=" ";
		 a[i][4]=" ";
		 a[i][5]=" ";
		 a[i][6]=" "; 
		 i++;
	 }
	 i=0;
	 this.connDB();
	 try {
		stmt = con.createStatement();
		 String sql= "select \* from car\_information";
		 rs = stmt.executeQuery(sql);
		 while(rs.next())
		 {
			 String number = rs.getString("number");
			 String cartype = rs.getString("cartype");
			 String carower = rs.getString("carower");
			 String price = rs.getString("price");
			 String color = rs.getString("color");
			 String  hire= rs.getString("hire");
			 String username= rs.getString("username");
			 a[i][0]=number;
			 a[i][1]=cartype;
			 a[i][2]=carower;
			 a[i][3]=price;
			 a[i][4]=color;
			 a[i][5]=hire;
			 a[i][6]=username;
			 i++;
			 
		 }
		 this.closeDB();
		 repaint();
	} catch (SQLException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	}
	 this.closeDB();
}
@Override
public void actionPerformed(ActionEvent e) {
	Object source = e.getSource();
	if(source == buttonOfXinxiluru)//点击信息修改按钮
	{
		this.dispose();
		new Luru();
	}
	else if(source == buttonOfXinxiliulan)//点击信息浏览按钮
	{
		xinXiLiuLan();
		
	}
	else if(source == buttonOfXiugai)//点击修改按钮
	{
		
		if(field2.getText().equals(""))
		{
			 JOptionPane.showMessageDialog(null, "输入修改车型的编号!");
		}
		else
		{
			this.dispose();
			new Xiugai(field2.getText());
		}
	}
	else if(source == buttonOfXiangXi)//点击详细信息按钮
	{
		this.dispose();
		new Xiangxi(field3.getText());
	}
	else if(source == buttonOfDelete)//点击删除按钮
	{
		if(field.getText().equals(""))
		{
			JOptionPane.showMessageDialog(null, "请输入删除车辆的编号!");
		}
		else
		{
			this.connDB();
			String sql;
			try {
				stmt = con.createStatement();
				sql = "select \* from car\_information where number='"+field.getText()+"'";//表里找到需要删除的车信息
				rs = stmt.executeQuery(sql);
			} catch (SQLException e2) {
				e2.printStackTrace();
			}
			try {
				if(rs.next())//判断是否有 输入编号的 车辆
				{
					
					int n = JOptionPane.showConfirmDialog(this, "确定删除此车辆信息?","确认对话框",JOptionPane.YES_NO_OPTION);//确认文本框
					if(n == JOptionPane.YES_OPTION)
					{	
						String hire2 = rs.getString("hire");
						if(hire2.equals("是"))
						{
							int m = JOptionPane.showConfirmDialog(this, "此车辆正在被租用,是否删除?","确认对话框",JOptionPane.YES_NO_OPTION);//确认文本框
							if(m == JOptionPane.YES_OPTION)
							{
								try
								{
									stmt = con.createStatement();
									String sql2 = "delete from car\_information where number='"+field.getText()+"';";
									stmt.executeUpdate(sql2);
								}
								catch (SQLException e1)
								{
									e1.printStackTrace();
								}
								this.closeDB();
								repaint();
								field.setText("");
								JOptionPane.showMessageDialog(null,"删除成功!");
								xinXiLiuLan();
							}
							else 
							{
								try
								{
									stmt = con.createStatement();
									String sql2 = "delete from car\_information where number='"+field.getText()+"';";
									stmt.executeUpdate(sql2);
								}
								catch (SQLException e1)
								{
									e1.printStackTrace();
								}
								this.closeDB();
								repaint();
								field.setText("");
								JOptionPane.showMessageDialog(null,"删除成功!");
								xinXiLiuLan();
							
							}
							

						}

// try
// {
// stmt = con.createStatement();
// String sql2 = “delete from car_information where number='”+field.getText()+“';”;
// stmt.executeUpdate(sql2);
// }
// catch (SQLException e1)
// {
// e1.printStackTrace();
// }
// this.closeDB();
// repaint();
// field.setText(“”);
// JOptionPane.showMessageDialog(null,“删除成功!”);
// xinXiLiuLan();

					}
					else if(n == JOptionPane.NO_OPTION)
					{
						
					}
				}
				else
				{
					JOptionPane.showMessageDialog(null, "没有此编号的车辆信息!");
				}
			} catch (HeadlessException e1) {
				e1.printStackTrace();
			} catch (SQLException e1) {
				e1.printStackTrace();
			}
			
			
			
			
		}
		
	}
	else if(source == buttonOfLogout)//退出
	{
		this.dispose();
		new Login();
		
	}
	
}

}


用户端  
 Yonghuduan.java



package Yonghu;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.FieldPosition;

import javax.naming.InitialContext;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableColumn;

import org.omg.PortableInterceptor.SUCCESSFUL;

import Index.*;
public class Yonghuduan extends JFrame implements ActionListener{

/\*

*
* 用户端的界面
*/
JTable table;
JLabel label1,label2,label3;
Object a[][];
Object name[] = {“序号”,“车型”,“车主”,“价格”,“颜色”,“是否被租用”};
JButton buttonOfKe,buttonOfXinxiliulan,buttonOfQyueding,buttonOfLogout,buttonOfXiangXi,buttonOfWo;
Box box1,box2;
JTextField field,field2;
JPanel jPanel4,jPanel5;

Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String username =null;
public Yonghuduan(String username)
{
	
	init();
	setVisible(true);

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 200, 640, 420);
setTitle(“用户界面”);
this.username = username;
}

void init()
{
	label1 = new JLabel("汽车租赁信息浏览系统");
	buttonOfKe = new JButton(" 可 租 用 车 辆 ");
	buttonOfKe.addActionListener(this);
	buttonOfXinxiliulan = new JButton(" 汽车信息浏览 ");
	buttonOfXinxiliulan .addActionListener(this);
	buttonOfQyueding = new JButton(" 确 定 ");
	buttonOfQyueding.addActionListener(this);
	buttonOfLogout = new JButton(" 退 出 登 录 ");
	buttonOfLogout.addActionListener(this);
	buttonOfXiangXi = new JButton(" 详 细 信 息 ");
	buttonOfXiangXi.addActionListener(this);
	buttonOfWo = new JButton(" 我 租 的 车 ");
	buttonOfWo.addActionListener(this);
	label2 = new JLabel("输入需要租用的汽车:");
	label3 = new JLabel("查询详细的信息编号");
	field = new JTextField();
	field2 = new JTextField();
	a = new Object[50][6];
	table = new JTable(a, name);//组件的创建
	table.setEnabled(false);
	JScrollPane scrollPane = new JScrollPane(table);
	
	box1 = Box.createVerticalBox();
	box1.add(Box.createVerticalStrut(20));
	box1.add(buttonOfKe);
	box1.add(Box.createVerticalStrut(10));
	box1.add(buttonOfXinxiliulan);
	box1.add(Box.createVerticalStrut(15));
	box1.add(label2);
	box1.add(Box.createVerticalStrut(5));
	box1.add(field);
	box1.add(Box.createVerticalStrut(5));
	box1.add(buttonOfQyueding);
	box1.add(Box.createVerticalStrut(15));
	box1.add(label3);
	box1.add(Box.createVerticalStrut(5));
	box1.add(field2);
	box1.add(Box.createVerticalStrut(5));
	box1.add(buttonOfXiangXi);
	box1.add(Box.createVerticalStrut(20));
	
	box1.add(buttonOfWo);
	box1.add(Box.createVerticalStrut(10));
	box1.add(buttonOfLogout);
	
	box2 = Box.createHorizontalBox();
	box2.add(Box.createHorizontalStrut(10));
	box2.add(box1);   //左边的按钮部分用 box布局
	
	jPanel4 = new JPanel();
	jPanel5 = new JPanel();
	jPanel4.setLayout(new BorderLayout());
	jPanel4.add(box2,BorderLayout.NORTH);//把左边的按钮部分放到jpanel4中。

// jPanel1 = new JPanel();
// jPanel2 = new JPanel();
// jPanel3 = new JPanel();
// jPanel4 = new JPanel();
// jPanel5 = new JPanel();
//
// jPanel1.setLayout(new BorderLayout());
// jPanel1.add(label2,BorderLayout.NORTH);
// jPanel1.add(field,BorderLayout.CENTER);
// jPanel1.add(buttonOfDelete,BorderLayout.SOUTH);//把删除的模块放一个jpanel1里
//
// jPanel2.setLayout(new BorderLayout());
// jPanel2.add(jPanel1,BorderLayout.NORTH);
// jPanel2.add(buttonOfLogout,BorderLayout.CENTER);//把删除模块和 退出登录模块放一个jpanel2里
//
// jPanel3.setLayout(new BorderLayout());
// jPanel3.add(buttonOfXinxiluru,BorderLayout.NORTH);
// jPanel3.add(buttonOfXinxiliulan,BorderLayout.CENTER);//信息录入浏览按钮放到jpanel3里
//
// jPanel4.setLayout(new BorderLayout());
// jPanel4.add(jPanel3,BorderLayout.NORTH);
// jPanel4.add(jPanel2,BorderLayout.CENTER);//把jpanel 2 3 放到 jpanel4里
//
jPanel5.setLayout(new BorderLayout());
jPanel5.add(label1,BorderLayout.NORTH);
jPanel5.add(scrollPane,BorderLayout.CENTER);//把表格 放jpanel5里

	this.setLayout(new BorderLayout());
	add(jPanel5,BorderLayout.EAST);
	add(jPanel4,BorderLayout.WEST);//把两个大的panel放到窗口里面

	
	
}


public void connDB() { // 连接数据库
	try {
		Class.forName("com.mysql.jdbc.Driver");//注册驱动
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
	try {//创建连接
		con = DriverManager.getConnection("jdbc:mysql://localhost:3306/car\_rental?characterEncoding=utf-8", "root", "");
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
}

public void closeDB() // 关闭连接
{
	try {
		stmt.close();
		con.close();
	} 
	catch (SQLException e) {
		e.printStackTrace();
	}
	
}

public void xinXiLiuLan()
{
	int i=0;
	 while(i<50)
	 {
		 a[i][0]=" ";
		 a[i][1]=" ";
		 a[i][2]=" ";
		 a[i][3]=" ";
		 a[i][4]=" ";
		 a[i][5]=" ";
		 i++;
	 }
	 i=0;
	 this.connDB();
	 try {
		stmt = con.createStatement();
		 String sql= "select \* from car\_information";
		 rs = stmt.executeQuery(sql);
		 while(rs.next())
		 {
			 String number = rs.getString("number");
			 String cartype = rs.getString("cartype");
			 String carower = rs.getString("carower");
			 String price = rs.getString("price");
			 String color = rs.getString("color");
			 String  hire= rs.getString("hire");
			 a[i][0]=number;
			 a[i][1]=cartype;
			 a[i][2]=carower;
			 a[i][3]=price;
			 a[i][4]=color;
			 a[i][5]=hire;
			 i++;
			 
		 }
		 this.closeDB();
		 repaint();
	} catch (SQLException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	}
	 this.closeDB();
}

public void actionPerformed(ActionEvent e) {
	Object source = e.getSource();
	if(source == buttonOfKe)//点击可以租用车辆的按钮
	{
		int success = 0;//用来判断 有没有 没被租用的车辆,如果能返回 “否” 值的集,则赋值为 1 
		 int i=0;
		 while(i<50)
		 {
			 a[i][0]=" ";
			 a[i][1]=" ";
			 a[i][2]=" ";
			 a[i][3]=" ";
			 a[i][4]=" ";
			 a[i][5]=" ";
			 i++;
		 }
		 i=0;//i 赋值为 0,为下面的循环做准备
		 this.connDB();
		 try {
			stmt = con.createStatement();
			 String sql= "select \* from car\_information where hire= '否';";//查询表里面 没被租用的车辆
			 rs = stmt.executeQuery(sql);
			 while(rs.next())//把查询到的信息写入 table
			 {
				 String number = rs.getString("number");
				 String cartype = rs.getString("cartype");
				 String carower = rs.getString("carower");
				 String price = rs.getString("price");
				 String color = rs.getString("color");
				 String hire = rs.getString("hire");
				
				 a[i][0]=number;
				 a[i][1]= cartype;
				 a[i][2]=carower;
				 a[i][3]=price;
				 a[i][4]=color;
				 a[i][5]=hire;
				 
				 i++;
				 success = 1;
			 }
			 this.closeDB();
			 repaint();//刷新一下
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 if(success == 0)
		 {
			 JOptionPane.showMessageDialog(null, "都已经被租用!");
		 }
	}
	else if(source == buttonOfXinxiliulan)//点击信息浏览按钮
	{
		 int i=0;
		 while(i<50)
		 {
			 a[i][0]=" ";
			 a[i][1]=" ";
			 a[i][2]=" ";
			 a[i][3]=" ";
			 a[i][4]=" ";
			 a[i][5]=" ";
			 i++;
		 }
		 i=0;
		 this.connDB();
		 try {
			stmt = con.createStatement();
			 String sql= "select \* from car\_information";
			 rs = stmt.executeQuery(sql);
			 while(rs.next())
			 {
				 String number = rs.getString("number");
				 String cartype = rs.getString("cartype");
				 String carower = rs.getString("carower");
				 String price = rs.getString("price");
				 String color = rs.getString("color");
				 String hire = rs.getString("hire");
				 
				 a[i][0]=number;
				 a[i][1]= cartype;
				 a[i][2]=carower;
				 a[i][3]=price;
				 a[i][4]=color;
				 a[i][5]=hire;
				 
				 i++;
			 }
			 this.closeDB();
			 repaint();
		} catch (SQLException e1){
			e1.printStackTrace();
		}
		 
		
	}
	else if (source == buttonOfQyueding)//点击 租用的确定键
	{
		if(field.getText().equals(""))//是否为空
		{
			JOptionPane.showMessageDialog(null, "请输入租用车辆的编号!");
		}
		else//不为空
		{
			this.connDB();
			String sql;
			try {
				stmt = con.createStatement();
				sql = "select \* from car\_information where number='"+field.getText()+"' and hire = '否'";//获取输入的 序号并且 没被租用的信息
				rs = stmt.executeQuery(sql);
			} catch (SQLException e2) {
				e2.printStackTrace();
			}
			try {
				if(rs.next())//判断是否存在 此车辆
				{
					int n = JOptionPane.showConfirmDialog(this, "确定租用此车辆信息?","确认对话框",JOptionPane.YES_NO_OPTION);
					if(n == JOptionPane.YES_OPTION)//确认框
					{	
						try
						{
							stmt = con.createStatement();
							String sql2 = "update car\_information set hire = '是',username = '"+username+"' where number='"+field.getText()+"';";//把租用的赋值为 是 
							stmt.executeUpdate(sql2);
						}
						catch (SQLException e1)
						{
							e1.printStackTrace();
						}
						this.closeDB();
						repaint();
						field.setText("");
						JOptionPane.showMessageDialog(null,"租用成功!");
						xinXiLiuLan();
						
					}
					else if(n == JOptionPane.NO_OPTION)
					{
						
					}
				}
				else
				{
					JOptionPane.showMessageDialog(null, "无法租用此车辆!");
				}
			} catch (HeadlessException e1) {
				e1.printStackTrace();
			} catch (SQLException e1) {
				e1.printStackTrace();
			}	
		}
	}

	else if(source == buttonOfXiangXi)
	{
		this.dispose();
		new Xiangxi\_yonghu(field2.getText(),username);
	}

	else if(source == buttonOfLogout)
	{
		this.dispose();
		new Login();
		
	}
	else if(source == buttonOfWo)//点击我租的车辆信息
	{
		int success = 0;//用来判断 有没有 没自己租用的车辆
		 int i=0;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值