一、系统的确立
做课设前,首先要明白自己做什么,老师要求什么。根据需求进行分析,前期的规划是整个课设成功的关键。
我当前的系统根据现有的GUI界面而决定的,快递信息管理系统比较适当前的界面。
二、功能模块的确立
所谓的功能模块,就是基础的数据操作,增删改查。还有一个登录操作,也算是一个功能模块。
三、项目的功能设计
1.登录功能设计
该登录功能是由管理员的权限 进行登录的,就是只有管理员登录该系统才能获取所有的系统信息,用户才能在此基础上进行信息处理的操作。
2. 信息处理的功能设计
(1) 添加操作的功能设计
通过对发货人、收货人、发货地址、收货地址、手机号等基础信息的填写操作,通过基本格式的判断输入的信息是否符合正确。
(2) 查找操作的功能设计
对该有的信息,进行查询操作,通过对应的单号和手机号精准的查询需要的信息。
(3) 修改操作的功能设计
根据相应的单号进行修改基础信息。
(4) 删除操作的功能设计
根据单号删除对应的信息。
(5) 显示操作的功能设计
显示全部字段的信息
四、项目数据库设计
- 数据库逻辑设计
根据实体的关系绘制E-R图。
用户实体
快递信息实体
实体之间的关系
- 数据表结构设计
信息数据表的组织结构。
五、项目展示
1.登录界面
2.主界面展示
六、关键代码实现 - 登录功能代码
//模糊查询关于传入信息username与之对应大的所有字段信息
String sq1=“select * from user where username like '%”+username+"%’";
//查询当前字段username与之对应的密码字段password
String sq2=“select password from user where username=’”+username+"’";
rs=sta.executeQuery(sq1);//执行此sql语句
rs2=sta2.executeQuery(sq2);
//判断是否返回了查询的结果集
while(rs.next()){
//获得的结果集中的username与用户输入信息的用户名进行比对
if(rs.getString(“username”).equals(username)){
while(rs2.next()){
//获得结果集中字段password的信息与用户输入的信息比对
if(rs2.getString(“password”).equals(password)){
flag=true;//用户名与密码都相等,则该用户是合法用户,可以登录该系统 - 显示功能代码
//获取全部信息的结果集
//将获取的信息结果集按顺序放在窗口的表格中
while(rs.next()){
id=rs.getInt(“id”);
fname=rs.getString(“fname”);
sname=rs.getString(“sname”);
faddress=rs.getString(“faddress”);
saddress=rs.getString(“saddress”);
number=rs.getString(“number”);
ctime=rs.getString(“ctime”);
tabmo.setValueAt(id,i,0);
tabmo.setValueAt(fname,i,1);
tabmo.setValueAt(sname,i,2);
tabmo.setValueAt(faddress,i,3);
tabmo.setValueAt(saddress,i,4);
tabmo.setValueAt(number,i,5);
tabmo.setValueAt(ctime,i,6);
i+=1;
if (i>=tabmo.getRowCount()) {
tabmo.addRow(new Object[]{});
}
} - 查找信息的功能代码
//根据用户提供的单号和手机号,查询所需要的信息。
//先从数据库里找到数据,把找到的数据放入界面的表格中显示。
sq=“select id,fname,sname,faddress,saddress,number,ctime from expressinfo where number like '%”+nu+"%’";
sq=“select id,fname,sname,faddress,saddress,number,ctime from expressinfo where id=”+id;
//p=0:只显示数据
show(sq,0," "); - 修改信息的功能代码
//修改信息时只能用单号来界定信息,修改唯一的信息。
//修改数据库的数据,然后把修改完的数据放入界面表格中显示。
sq=“update expressinfo set fname=’”+fn+"’,sname=’"+sn+"’,faddress=’"+fa+"’,saddress=’"+sa+"’,number=’"+nu+"’,ctime=’"+tm+"’ where id="+id;
//p=0:只显示数据,p=1:修改完数据在显示
show(sql,1,sq); - 添加信息的功能代码
//将用户输入的信息,放在sql语句中,然后调用执行,把该信息插进数据库表
//把数据添加到相应的表中,然后把添加完的信息放入到界面表格中显示。
sq=“insert into expressinfo(id,fname,sname,faddress,saddress,number,ctime)”+“values(”+id+",’"+fn+"’,’"+sn+"’,’"+fa+"’,’"+sa+"’,’"+nu+"’,’"+tm+"’)";
//p=0:只显示数据,p=1:添加完数据在显示
show(sql,1,sq); - 删除信息的功能代码
//删除信息也是依照单号来界定唯一性,单号是主键,唯一且不重复。
//删除也是对的数据库中的表做操作,然后删除完成,把剩余信息向界面显示。
sq=“delete from expressinfo where id=”+id;
//p=0:只显示数据,p=1:删除完数据在显示
show(sql,1,sq);