wx供重浩:创享日记
对话框发送:汽车租赁系统
获取完整源码源文件+视频演示+文档资料等
一、 课程设计目的
1、综合运用Java程序设计课程和其他相关课程的理论和知识,掌握面向对象程序设计的一般方法、常用技术及技巧,树立良好的软件设计思想,培养分析问题和解决实际问题的能力;
2、学会从OOP程序设计的方法及要求出发,认真分析题目,做好总体设计,根据要求科学地设计包、类、接口等,正确设计算法,合理安排界面,规范开发过程,仔细调试程序,做好设计总结;
3、充分利用互联网资源,提高学生获取知识,实践知识的能力。
二、 课程设计内容
汽车信息租赁信息管理系统
要求:设计一个图形用户界面程序,实现以下功能:
前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)
- 管理员/用户登陆
- 2.汽车信息的录入、修改、查询、删除 3.客户的租用车辆查看浏览信息。
三、系统描述
需求分析是发现需求,分析求精,逻辑建模,需求规约的过程,其的目的是为了全面获取软件需求,准确理解业务逻辑。车辆租赁系统具有以下基本功能。
- 用户管理:
包括用户的注册,登陆等,没有账户的用户可以注册会员,登录,通过分类查询车辆,以及查看其详细信息。 - 车源管理:
包括车辆信息的删除,添加,修改等,管理员能够向数据库中发布车辆信息,包括车辆的车型,价格,车主等信息。 - 车源信息查找
用户可以在窗口上直接浏览车辆基本信息,也可以按照不同的要求方式对车辆信息进行查询,这样用户可以方便的找到自己想要的车源,人性化的查找方式为用户带来了极大的便利。
四、系统解决的问题
本系统主要完成前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)等功能。通过以上功能实现简单,便捷的租车系统。
车辆浏览:所有人都可以操作,顾客可以随意浏览车辆信息,按照车辆的序号排序,在点击按钮后,可以在表格中显示出可以租用车辆的信息,可以让用户选择。
车辆租用:顾客在浏览车辆信息后,可以根据自身需求选择所需租用的车辆,输入车辆的序号后,点击确定按钮,可以成功租用车辆,并且该车辆是否被租用的信息会自动更改为已被租用,如果用户租用已被租用的车辆则租用失败,无法租用成功。
车辆管理:该功能只能由管理员完成,由管理员完成对车辆信息的录入包括录入车辆的车主,价格,是否被租用等信息,并可以删除车辆信息。
会员管理:该功能由管理员完成,管理员可以注册其他的用户帐号,并将帐号密码录入数据库中。
五、数据库设计
六、运行结果
以下部分代码请忽略
public void connDB() { // 连接数据库
try {
Class.forName("com.mysql.jdbc.Driver");//注册驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {//创建连接
con = DriverManager.getConnection(DbUtil.dbUrlString, DbUtil.dbUser, DbUtil.dbpassword);
stmt = con.createStatement();
} 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 user_password = null;
int success = 1;//如果已经存在了此账号,则赋值为0,作为进入创建账号方法的进入条件
if(source == buttonOfZhuce)
{
if (field1.getText().equals("") || field2.getText().equals("")||field3.getText().equals("") )
{// 判断是否输入了用户名和密码
JOptionPane.showMessageDialog(null, "请填写完整!");
}
else//密码账号都不为空后
{
try {
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();
}
}
}