基于Android的选修系统的制作方法_3

文档序号:9453716阅读:来源:国知局
课表,选课表主要表现学生的选课关系,具有n:n的关系,选课表的主键为选课ID,主要由学生ID属性和课程ID属性决定。
[0046]数据库表间关系设置为:
用户表作用于用户登录系统时使用,根据用户的权限识别用户是学生还是教师,在用户成功登录时跳转学生个人信息中心还是教师个人信息中心。
[0047]学生表记录学生的个人信息,学生ID是该数据库表的主键,学号可以作为外键。
[0048]教师表记录教师的个人信息,教师ID是该数据库表的主键,员工号可以作为外键。
[0049]课程表作为主要的数据库表,包含所有的课程信息,是大部分功能实现的载体,课程的查找,屏蔽等等都是通过对课程表的检索来实现的。
[0050]选课表作用于学生进行选课操作及删除操作,是选课系统最终的目标。学生的选课操作即对选课表的新增,已选课程删除则是对选课表数据项的删除操作实现。
[0051]该移动选课系统的Servlet 程序包含 LoginServlet、Query、Delete、Show 和Elective五个类,这五个类同时继承HttpServlet类。这五个类的功能描述如下:
LoginServlet类:用于接收和返回用户的登陆信息。
Query类:用于接收用户对课程查询的请求,返回用户相应的数据信息。
Delete类:用于接收用户对已选课程的删除请求,返回用户是否已经删除成功的相应?目息O Show类:用于接收用户对显示或刷新所有可选课程的请求,返回用户相应的信息。 Select类:用于接收用户的选课请求,返回用户是否选课成功的相关信息。
[0052]数据库交互程序是服务器的核心程序,共包含Link、Login、Query、Show、Select和Delete六个方法。功能描述如下:
Link方法:通过JDBC连接数据库。
Login方法:通过与数据库的交互验证用户的身份是否合法。
[0053]Query方法:通过与数据可的交互根据给出的条件查询出用户需要的课程。
Show方法:通过与数据库的交互给登用户提供当前所有可供选择的课程信息。
Select方法:通过与数据库的交互为用户保存已经选择的选课信息。
[0054]Delete方法:通过与数据库的交互删除用户指定已经被选择的课程信息。
[0055]使用JDBC操作数据库主要包含以下3个步骤:
1.加载JDBC驱动程序:
通过Class类的静态方法forName O来实现,参数由数据库供应商而决定。
[0056]static String dr i verName = 〃 com.microsoft.sqlserver.j d b c.SQLServerDriver,,;
Class.forName (driverName);
2.创建数据库连接:
调用 java.sql.DriverManager 的 getConnect1n ()方法,获得一个 Connect1n 对象,该对象代表一个数据库的连接。
[0057]static String url = 〃jdbc: sqlserver: / / ZHANG-PC\\SQLEXPRESS;databaseName=cDB";
static String userName=,,sa〃 ;static String password=〃admin〃;
Connect1n conn=null;
conn= (Connect1n)DriverManager.getConnect1n(url,userName, password);
3.释放数据库连接:
创建使用JDBC对象之后应当关闭数据库连接对象,释放JDBC的资源。相比创建的顺序,释放资源时正好相反。
[0058]public static void free(ResultSet rs,Connect1n conn, Statementstmt){
try {
if (rs! =null) rs.close ();
} catch(SQLExcept1n e) {
e.printStackTrace ();
}finally{
try {
if (conn!=null) conn, close ();
} catch(SQLExcept1n e) {
e.printStackTrace (); }finally{
try {
if (stmt! =null) stmt, close ();
}catch (SQLExcept1n e){
e.printStackTrace ();
}
}
}
Android客户端主要包含5个页面,登录页面,个人信息页面,课程信息显示页面,课程信息查询页面和已选课程显示及删除页面
登录页面:供用户登录系统使用。同时检测用户登录的信息是否为空或者合法。
[0059]个人信息页面:该页面上显示用户的个人信息,并拥有若干项菜单连接,以供用户选择自己要完成的操作。
[0060]课程信息显示页面:该页面上显示当前可供选择的所有课程信息,用户可按自己需要对所有课程进行寻找或者筛选。
[0061]课程信息查询页面:该页面用于提供用户对课程信息数据库进行查询操作。
[0062]课程信息显示及删除页面:该页面将列出用户所有的已选课程信息,并且提供用户删除已选课程的操作。
[0063]其中,“课程屏蔽”功能在课程信息显示页面显示的课程信息项之后添加一个“屏蔽”按钮实现。
[0064]服务器的Servlet 编程中使用了 Login、Query、Delete、Show 和 Select 五个类来与数据库交互,并对数据库接收到的数据进行处理,最后将处理的结果返回给客户端,并在服务器端打印用户请求的相关信息。
[0065]
其中Query (显示选课信息)类的相关代码如下: try {
Connect1n con = DriverManager.ge tConnect1n(dbURL, userName, userPwd);
Statement s = con.createStatement();
ResultSet ifyixuanke = s.executeQuery (sql);while (ifyixuanke.next ()) {
if has = ifyixuanke.getString C 是否选课");
}
s.close ();
if (ifhas.equals(〃t〃)){
PreparedStatement chaxun = con
?prepareStatement ("select课程ID,课程名,学分上课时间,上课地点,任教老师ID,课余量from课程表where课程号=(select课程号from选课表where 学号=?) 〃);Query.setString(I, username);
ResultSet kch = Query.executeQuery();while (kch.next ()) {re = 〃t" + 〃 〃 + kch.getString ("课程名")+ 〃 〃+ kch.getString ("学时")+""+ kch.getString ("学分")
+ …+ kch.getString ("课程性质")+ ,,,,
+ kch.getString ("考核方式")+ 〃 " + kch.getString ("学期");
}
ifkx = "f";
Query.close O ;
} else {
System, out.println(〃 您还没有选课! ! 〃);ifkx = "t";re = ? ;
}
con.close ();
} catch (Except1n e) {
System.println ("连接数据库失败! 〃 + e + "false");re = ? ;
}
return re;
}
其他几个类的相关代码与Query类的类似,只是相关sql的Select语句有所不同,下面只给出与类相关的Select语句。
[0066]Login类相关的Select语句如下:
ResultSet yhb = login.executeQuery (^select 学号,密码 from 用户表"); Delete类的Select语句如下:
Prepa
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1