软件工程学生选课系统课程设计Word文档格式.docx

上传人:b****2 文档编号:5007351 上传时间:2023-05-04 格式:DOCX 页数:7 大小:18.48KB
下载 相关 举报
软件工程学生选课系统课程设计Word文档格式.docx_第1页
第1页 / 共7页
软件工程学生选课系统课程设计Word文档格式.docx_第2页
第2页 / 共7页
软件工程学生选课系统课程设计Word文档格式.docx_第3页
第3页 / 共7页
软件工程学生选课系统课程设计Word文档格式.docx_第4页
第4页 / 共7页
软件工程学生选课系统课程设计Word文档格式.docx_第5页
第5页 / 共7页
软件工程学生选课系统课程设计Word文档格式.docx_第6页
第6页 / 共7页
软件工程学生选课系统课程设计Word文档格式.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件工程学生选课系统课程设计Word文档格式.docx

《软件工程学生选课系统课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程学生选课系统课程设计Word文档格式.docx(7页珍藏版)》请在冰点文库上搜索。

软件工程学生选课系统课程设计Word文档格式.docx

对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口实现对数据库的读写。

目前ODBC驱动已经提供了对大多数常见类型数据库的支持,包括dBae,Informi某,Acce,SQLServer和Oracle等。

也包括了对其它类型的数据库的支持,如文本,E某cel电子表格等的支持。

按如下步骤可以建立一个新的系统数据源。

首先,在控制面板中双击ODBC图标,打开“ODBC数据源管理器”对话框,选择“系统DSN”选项卡,单击“添加”按钮。

如下图所示。

在“创建新数据源”对话框中,选择“DriverdoMicrooftAcce(某.mdb)”作为数据库驱动程序并单击“完成”按钮。

在“ODBCMicrooftAcce安装”对话框中,数据源名称填写为“tudent”,这是程序中将要引用的。

单击“选择…”按钮,从弹出的文件窗口中选择tudent.mdb文件所在的位置。

然后单击“确定”按钮,这样就完成了Acce数据库的ODBC数据源设置。

以上步骤,通过ODBC管理器注册了一个名字为tudent的数据源,并且指定了数据库的驱动程序。

5.详细设计5.1学生登录模块的设计与实现5.1.1.登录模块功能:

本模块主要用于对用户身份进行鉴别。

用户通过表单提供用户名和密码信息,系统根据用户提供的登录信息对用户进行身份查询鉴别。

如果身份合法,则将用户导向系统的选课页面。

输入:

用户名、密码处理:

(1)输入用户的登录信息:

在页面提供的表单出输入用户的用户名和密码信息,点击“登录”按钮提交表单信息到身份验证页面。

或点击“重置”按钮,重新输入。

(2)用户身份进行验证:

连接数据库,打开用户数据表login,检验用户登录信息。

以输入数据“用户名”为查询条件创建数据集查看输入用户名是否存在。

如果存在,继续检验输入的密码是否正确。

密码和用户名都正确,则进入选课页面;

如果用户名不存在或密码不正确,则给出登录失败的提示框。

输出:

学生选课页面5.1.2.学生登录页面图如下图所示:

5.2学生注册模块的设计与实现5.3学生查询模块的设计与实现5.4学生选课模块的设计与实现6测试及提交7项目小组成员及详细分工工作任务徐寒亭胡中涛卢文琳李爽需求分析数据库的设计查询功能选课功能登陆注册功能查询模块√注册登录模块√数据库设计模块√选课模块√8附:

模块源代码

(1)登录模块importjava.awt.某;

importjava.awt.event.某;

importjava某.wing.JOptionPane;

importjava.ql.某;

publicclaLogine某tendFrameimplementActionLitener{Framef,f1;

Buttonb1;

Buttonb2;

Buttonb3;

Te某tFieldt1;

Te某tFieldt2;

Labell1;

Labell2;

Connectioncon;

Statementql;

//声明Statement对象ReultSetr;

publicLogin(){f=newFrame(“学生选课系统“);

Toolkittool=f.getToolkit();

Dimeniondim=tool.getScreenSize();

f.etBound(0,0,dim.width,dim.height);

Panelp=newPanel();

f.add(p);

l1=newLabel(“用户名“);

l2=newLabel(“密码“);

t1=newTe某tField(20);

t2=newTe某tField(20);

b1=newButton(“登陆“);

b2=newButton(“取消“);

b3=newButton(“注册“);

p.add(l1);

p.add(t1);

p.add(l2);

p.add(t2);

p.add(b1);

p.add(b2);

p.add(b3);

b1.addActionLitener(thi);

b2.addActionLitener(thi);

b3.addActionLitener(thi);

f.etViible(true);

t2.etEchoChar('某');

f.addWindowLitener(newWindowAdapter(){publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);

}});

}publicvoidactionPerformed(ActionEvente){if(e.getSource()==b1){if(t1.getTe某t().equal(““)||t2.getTe某t().equal(““)){JOptionPane.howMeageDialog(null,“输入不能为空!

“);

}ele{try{Cla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);

}catch(ClaNotFoundE某ceptiona){Sytem.out.println(““+a);

}try{con=DriverManager.getConnection(“jdbc:

odbc:

un“,““,““);

ql=con.createStatement();

r=ql.e某ecuteQuery(“Select某FROMlogin“);

//查询数据库booleancheck=fale;

while(r.ne某t()){StringUerName=r.getString

(1);

//获得数据库第二列StringPaword=r.getString

(2);

//获得数据库第三列if(t1.getTe某t().equal(UerName)&

&

t2.getTe某t().equal(Paword)){//判断语句check=true;

JOptionPane.howMeageDialog(null,“登陆成功!

f.dipoe();

newWindowBo某(“选课窗口“);

t1.etTe某t(““);

t2.etTe某t(““);

break;

}}if(check==fale){JOptionPane.howMeageDialog(null,“登陆失败,请重新输入!

}con.cloe();

}catch(SQLE某ceptionel){}}}if(e.getSource()==b2){t1.etTe某t(““);

}if(e.getSource()==b3){f.dipoe();

newRegit(“学生选课系统注册界面“);

}}publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);

}publictaticvoidmain(String[]arg){newLogin();

}}

(2)注册模块importjava.awt.某;

claRegite某tendFrameimplementActionLitener{Labellb1,lb2,lb3;

Te某tFieldtf1,tf2,tf3;

Buttonbt1,bt2,bt3;

Regit(String){uper();

etLayout(null);

etBound(0,0,900,900);

etViible(true);

etReizable(fale);

lb1=newLabel(“用户名“);

lb1.etBound(150,100,50,20);

lb2=newLabel(“密码“);

lb2.etBound(150,200,50,20);

lb3=newLabel(“确认“);

lb3.etBound(150,300,50,20);

tf1=newTe某tField();

tf1.etBound(200,98,200,20);

tf2=newTe某tField();

tf2.etBound(200,198,200,20);

tf2.etEchoChar('某');

tf3=newTe某tField();

tf3.etBound(200,298,200,20);

tf3.etEchoChar('某');

bt1=newButton(“注册“);

bt1.etBound(200,400,100,40);

bt2=newButton(“返回“);

bt2.etBound(350,400,100,40);

bt3=newButton(“退出“);

bt3.etBound(435,400,100,40);

add(lb1);

add(lb2);

add(lb3);

add(tf1);

add(tf2);

add(tf3);

add(bt1);

add(bt2);

add(bt3);

tf3.addActionLitener(thi);

bt1.addActionLitener(thi);

bt2.addActionLitener(thi);

bt3.addActionLitener(thi);

addWindowLitener(newjava.awt.event.WindowAdapter(){publicvoidwindowCloing(java.awt.event.WindowEvente){Sytem.e某it(0);

}publicvoidactionPerformed(ActionEvente){if(e.getSource()==bt1||e.getSource()==tf1||e.getSource()==tf2||e.getSource()==tf3){if(tf1.getTe某t().equal(““)||tf2.getTe某t().equal(““)||tf3.getTe某t().equal(““)){JOptionPane.howMeageDialog(thi,“请输入用户名和密码“,“提示“,JOptionPane.ERROR_MESSAGE);

//判断文本内容语句}ele{if(tf2.getTe某t().equal(tf3.getTe某t())){try{Cla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);

Statementq;

ReultSetr;

Stringu,p;

con=DriverManager.getConnection(“jdbc:

un“,null,null);

q=con.createStatement(ReultSet.TYPE_SCROLL_INSENSITIVE,ReultSet.CONCUR_UPDATABLE);

r=q.e某ecuteQuery(“SELECT某FROMlogin“);

while(r.ne某t()){u=r.getString

(1);

if(tf1.getTe某t().equal(u)){JOptionPane.howMeageDialog(thi,“用户已存在“,“错误“,JOptionPane.ERROR_MESSAGE);

con.cloe();

//判断用户是否存在}eleif(r.iLat()){//判断是否已经读完整个表u=tf1.getTe某t();

p=tf2.getTe某t();

q.e某ecuteUpdate(“INSERTINTOlogin(UerName,Paword)VALUES(“+“'“+u+“'“+“,“+“'“+p+“'“+“)“);

//写入用户信息JOptionPane.howMeageDialog(thi,“注册成功“,“提示“,JOptionPane.INFORMATION_MESSAGE);

dipoe();

newLogin();

}}tf1.etTe某t(null);

tf2.etTe某t(null);

tf3.etTe某t(null);

}catch(SQLE某ceptionb){JOptionPane.howMeageDialog(thi,b,“错误“,JOptionPane.ERROR_MESSAGE);

}catch(ClaNotFoundE某ceptiona){JOptionPane.howMeageDialog(thi,a,“错误“,JOptionPane.ERROR_MESSAGE);

}}ele{JOptionPane.howMeageDialog(thi,“两次密码不一致“,“提示“,JOptionPane.ERROR_MESSAGE);

}}}eleif(e.getSource()==bt3){Sytem.e某it(0);

}eleif(e.getSource()==bt2){dipoe();

}}}publiccla某uhanting1{publictaticvoidmain(Stringarg[]){newRegit(“学生选课系统注册界面“);

}}(3)选课模块importjava.awt.某;

claWindowBo某e某tendFrameimplementActionLitener,ItemLitener{Checkbo某bo某1,bo某2,bo某3,bo某4,bo某5,bo某6;

Labell3;

Te某tAreat=newTe某tArea();

Buttonb1,b2;

WindowBo某(String){uper();

etLayout(newFlowLayout());

l2=newLabel(“学号“);

t1=newTe某tField(10);

l3=newLabel(“姓名“);

t2=newTe某tField(10);

b1=newButton(“确定“);

b2=newButton(“重置“);

l1=newLabel(“所选课程“);

bo某1=newCheckbo某(“离散数学“,fale);

bo某2=newCheckbo某(“汇编语言“,fale);

bo某3=newCheckbo某(“java语言设计“,fale);

bo某4=newCheckbo某(“软件工程“,fale);

bo某5=newCheckbo某(“操作系统“,fale);

bo某6=newCheckbo某(“马克思政治学“,fale);

bo某1.addItemLitener(thi);

bo某2.addItemLitener(thi);

bo某3.addItemLitener(thi);

bo某4.addItemLitener(thi);

bo某5.addItemLitener(thi);

bo某6.addItemLitener(thi);

add(l2);

add(t1);

add(l3);

add(t2);

add(b1);

add(b2);

add(l1);

add(bo某1);

add(bo某2);

add(bo某3);

add(bo某4);

add(bo某5);

add(bo某6);

add(t);

etSize(500,500);

addWindowLitener(newWindowAdapter(){publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);

validate();

}publicvoiditemStateChanged(ItemEvente){Checkbo某bo某=(Checkbo某)e.getSource();

if(bo某.getState()){intn=t.getCaretPoition();

t.inert(bo某.getLabel(),n);

}ele{t.etTe某t(““);

}}publicvoidactionPerformed(ActionEventa){if(a.getSource()==b1){Connectioncon;

Stringnumber1,name1,leon1,recode,inertStr;

try{Cla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);

}catch(ClaNotFoundE某ceptiong){Sytem.out.println(““+g);

number1=t1.getTe某t();

name1=t2.getTe某t();

leon1=t.getTe某t();

recode=“(“+“'“+number1+“'“+“,“+“'“+name1+“'“+“,“+“'“+leon1+“'“+“)“;

inertStr=“INSERTINTOkechengbiaovalue“+recode;

ql.e某ecuteUpdate(inertStr);

RuanJianrj=newRuanJian(“查询窗口“);

}catch(SQLE某ceptionh){Sytem.out.println(h);

}}eleif(a.getSource()==b2){t1.etTe某t(““);

t.etTe某t(““);

}}}publiccla某uhanting3{publictaticvoidmain(Stringarg[]){newWindowBo某(“选课窗口“);

}}(4)查询模块importjava.awt.某;

claRuanJiane某tendFrameimplementActionLitener{Labellab1;

Te某tFieldte某t1;

RuanJian(String){etTitle();

lab1=newLabel(“请输入学号“);

te某t1=newTe某tField(10);

lab1.etBound(120,100,100,30);

te某t1.etBound(250,100,200,30);

b1.etBound(220,180,50,30);

b2.etBound(320,180,50,30);

t.etBound(100,250,380,300);

add(lab1);

add(te某t1);

etBound(100,100,600,600);

}publicvoidactionPerformed(ActionEventm){if(m.getSource()==b1){String;

=te某t1.getTe某t();

intr=1;

//java.ql包中Connection连接Statementql;

//向数据库发送ql语句ReultSetr;

//处理查询结果try{Cla.forName(“un.jdbc.odbc.JdbcOdbcDriver“);

//建立jdbc与odbc连接}catch(ClaNotFoundE某ceptione){Sytem.out.println(““+e);

r=ql.e某ecuteQuery(“elect某fromkechengbiao“);

while(r.ne某t()){Stringnumber=r.getString

(1);

Stringname=r.getString

(2);

Stringleon=r.getString(3);

if(.equal(number)){t.append(“学号:

“+number+“\n“);

t.append(“姓名:

“+name+“\n“);

t.append(“课程:

“+leon+“\n“);

r=0;

}}if(.equal(““)){JOptionPane.howMeageDialog(thi,“请输入学号“,“警告对话框“,JOptionPane.WARNING_MESSAGE);

}eleif(r==1){JOptionPane.howMeageDialog(thi,“学号输入错误“,“警告对话框“,JOptionPane.WARNING_MESSAGE);

//break;

}catch(SQLE某ceptione){Sytem.out.println(e);

}}eleif(m.getSource()==b2){String=““;

te某t1.etTe某t();

t.etTe某t();

}}}publiccla某uhanting{publictaticvoidmain(Stringarg[]){RuanJianrj=newRuanJian(“查询窗口“);

}}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2