(11)案例-----学生身体体质信息管理系统的开发

11.1 功能划分:

1.添加记录模块:完成向数据库添加新纪录

2.查询记录模块:完成将数据库的记录以网页的方式显示出来,一般采用有条件的查询

3.修改记录操作:完成对指定条件的数据库记录实现修改

4.删除记录操作:完成对指定条件记录从数据库中删除

11.2 每个模块的操作流程

1.注册驱动

2.建立连接

3.创建数据库操作对象

4.执行语句

5.处理执行结果

6.释放资源


操作流程:
1.数据库和数据表的建立
数据库students 数据表students_info

2.注册驱动并建立数据库的连接

		String driverName="com.mysql.jdbc.Driver";//加载驱动程序名
String userName="root"; //数据库用户名
String userPwd="123456"; //密码
String dbName="students"; //数据库名字
String url1="jdbc:mysql://localhost:3306/"+dbName;
String url2="?user="+userName+"&password="+userPwd;
String url3="&userUnicode=true&character=UTF-8";
String url=url1+url2+url3;//形成带数据库读写编码的数据库连接字
Class.forName(driverName);//加载并注册驱动程序
Connection conn=DriverManager.getConnection(url);

3.添加记录模块

基本格式:insert into 表名(字段名列表) values(值列表)
//insert_stu_2_tijiao.jsp
<%@page contentType="text/html%" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>添加任意学生的提交页面</title>
</head>
<body>
<form action="insert_stu_2.jsp" method="post">
<table border="0" width="238" height="252">
<tr><td>学号</td><td><input type="text" name="id"></td></tr>
<tr><td>姓名</td><td><input type="text" name="name"></td></tr>
<tr><td>性别</td><td><input type="text" name="sex"></td></tr>
<tr><td>年龄</td><td><input type="text" name="age"></td></tr>
<tr><td>体重</td><td><input type="text" name="weight"></td></tr>
<tr><td>身高</td><td><input type="text" name="hight"></td></tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="提 交">&nbsp;&nbsp;&nbsp;
<input type="reset" value="取 消">
</td>
</tr>
</table>
</form>
</body>
</html>
//insert_stu_2.jsp
<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>利用PreparedStatement对象添加一条记录页面</title>
</head>
<body>
<%
String driverName="com.mysql.jdbc.Driver";//加载驱动程序名
String userName="root"; //数据库用户名
String userPwd="123456"; //密码
String dbName="students"; //数据库名字
String url1="jdbc:mysql://localhost:3306/"+dbName;
String url2="?user="+userName+"&password="+userPwd;
String url3="&userUnicode=true&character=UTF-8";
String url=url1+url2+url3;//形成带数据库读写编码的数据库连接字
Class.forName(driverName);//加载并注册驱动程序
Connection conn=DriverManager.getConnection(url); //数据库连接
String sql="Insert into stu_info(id,name,sex,age,weight,hight)values(?,?,?,?,?,?)";//sql语句
PreparedStatement pstmt=conn.prepareStatement(sql);//执行编译
request.setCharacterEncoding("UTF-8"); //设置编码格式
int id=Integer.parseInt(request.getParameter("id")); //转化格式
String name=request.getParameter("name");
String sex=request.getParameter("sex");
int age=Integer.parseInt(request.getParameter("age"));
float weight=Float.parseFloat(request.getParameter("weight"));
float hight=Float.parseFloat(request.getParameter("hight"));
pstmt.setInt(1,id); //设置参数
pstmt.setString(2,name);
pstmt.setString(3,sex);
pstmt.setInt(4,age);
pstmt.setFloat(5,weight);
pstmt.setFloat(6,hight);
int n=pstmt.executeUpdate();
if(n==1){ %>数据插入操作成功!<br><%}
else{ %>数据插入操作失败!<br> <% }
if(pstmt!=null){
pstmt.close();
}
if(conn!=null){
conn.close();
}
%>
</body>
</html>

4.查询记录模块

	基本格式:select 要列出的字段名  from 表名  where  特定条件

//find_stu_3.jsp
<%@page contentType="text/html" import="java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>由提交页面获取查询条件并实现查询的页面</title>
</head>
<body>
<center>
<% request.setCharacterEncoding("utf-8");
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPassword="123456";
String dbName="students";
String url1="jdbc:mysq://localhost:3306/"+dbName;
String url2="?user="+userName+"&password"+userPassword;
String url3="&userUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+url3;
Class.forName(driverName);
Connection conn=DriverManager.getConnection(url); String sql="select *form stu_info where sex=? and weight>=? and weight<=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
rs.last();
%>你要查询的学生数据表中共有
<font size="5" color="red"><%=rs.getRow()%></font>人
<table border="2" bgcolor="ccceee" width="650">
<tr bgcolor="CCCCCC" align="center">
<td>记录条数</td><td>学号</td><td>姓名</td>
<td>性别</td><td>年龄</td><td>体重</td><td>身高</td>
</tr>
<% rs.beforeFirst();
while(rs.next()){%>
<tr align="center">
<td><%=rs.getRow() %></td>
<td><%=rs.getString("id") %></td>
<td><%=rs.getString("name") %></td>
<td><%=rs.getString("sex") %></td>
<td><%=rs.getString("age") %></td>
<td><%=rs.getString("weight") %></td>
<td><%=rs.getString("hight") %></td>
</tr>
<%} %>
</table>
</center>
<% if(rs!=null){rs.close();}
if(pstmt!=null){pstmt.close();}
if(conn!=null){conn.close();}%>
</body>
</html>
//find_stu_3_tijiao.jsp
<%@page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>查询条件提交页面</title>
</head>
<body>
请选择查询条件<hr width="100%" size="3">
<form action="find_stu_3.jsp" method="post">
性别:男<input type="radio" name="sex" value="男">
女<input type="radio" name="sex" value="女">
<br/>
体重范围:<p>&nbsp;&nbsp;&nbsp;&nbsp;
最小<input type="text" name="w1" value="0"><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;
最大<input type="text" name="w2" value="150"><p>
<input type="submit" value="提交">
<input type="reset" value="取 消">
</form>
</body>
</html>

5.修改记录模块的设计和实现

6.删除记录模块的实现

7.数据库操作模板

8.整合形成系统

2017.11.15 JavaWeb的学生体质管理系统的更多相关文章

  1. 2017.11.15 String、StringBuffer、StringBuilder的比较(todo)

    参考来自:http://blog.csdn.net/jeffleo/article/details/52194433 1.速度 一般来说,三者的速度是:StringBuilder > Strin ...

  2. 2017.11.15 Add a parameter –serial <serial no> to the Target field.

    1 exe创建快捷方式,并且加后缀  program --serial 50114130   这是Win里面的一种调用说明. Please note that the programming logs ...

  3. 2017.11.15 linux软件安装管理(todo)

    学习来自:http://www.imooc.com/learn/447 第一章 介绍 第二章 软件包简介 1.源码包 2.二进制包(RPM包或系统默认包) 脚本安装包其实是别人把软件安装的脚本写好了, ...

  4. 2017.11.15 hashmap的工作原理

    参考来自:http://blog.csdn.net/jeffleo/article/details/54946424 一 hashMap的基本概念 1.HashMap的定义 public class ...

  5. CUDA 9.1/9.2 与 Visual Studio 2017 (VS2017 15.6.4) 的不兼容问题

    2018年7月9日更新: CUDA已推出9.2版本,最高支持MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6). 然而最新版 ...

  6. Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现

    Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...

  7. java学生简单管理系统

    1 //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金 2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩 3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平 ...

  8. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  9. loj #6250. 「CodePlus 2017 11 月赛」找爸爸

    #6250. 「CodePlus 2017 11 月赛」找爸爸 题目描述 小 A 最近一直在找自己的爸爸,用什么办法呢,就是 DNA 比对. 小 A 有一套自己的 DNA 序列比较方法,其最终目标是最 ...

随机推荐

  1. 基于wireshark抓包分析TCP的三次握手

    1. TCP的三次握手 在TCP/IP协议通讯过程中,采用三次握手建立连接,从而保证连接的安全可靠. 所有基于TCP的通信都需要以两台主机的握手开始.这个握手过程主要是希望能达到以下不同的目的.[1] ...

  2. java——链表、链表栈 LinkedListStack、链表队列 LinkedListQueue

    LikedList: package Date_pacage; public class LinkedList<E> { public static void main(String[] ...

  3. Django权限1

    1.权限,说白了就是你有资格访问这个网址,而别人每一资格:你有资格进行增删改查,而别人只有查的权限 2.新建是3张表: #用户表 class User(models.Model): name = mo ...

  4. java 数字进制之间转换

    //10进制转换 16进制 System.out.println(Integer.toHexString(val)); System.out.println(String.format("% ...

  5. jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)

    最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * ...

  6. IA-32e模式下的异常处理

    系统异常处理 CPU如果调用系统异常处理程序 需要的数据结构 IDT_Table: 中断向量表, 在中断向量表中的每一项都是一个中断描述符(中断门或者陷阱门), 一个中断描述符中的几位是段选择符 GD ...

  7. Python学习笔记--语音处理初步

    语音处理最基础的部分就是如何对音频文件进行处理. 声音的物理意义:声音是一种纵波,纵波是质点的振动方向与传播方向同轴的波.如敲锣时,锣的振动方向与波的传播方向就是一致的,所以声波是纵波.纵波是波动的一 ...

  8. 第一个flask程序

    flask简介: flask是一款非常流行的Python Web框架,出生于2010年,作者是Armin  Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正 ...

  9. Git GUI基本操作

    一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...

  10. executenonquery只对insert,delete,update有效,查询select会默认返回-1

    问题:cmd.ExecuteNonQuery() 方法总是返回-1 原因:ExecuteNonQuery() 方法 select 返回-1 解释:执行Select子句,数据库并无变化,自然返回-1同样 ...