目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第2次 JDBC-Statement、ResultSet

教学导入:

提问:常见的数据查询功能如何完成?

引入JDBC的作用及常见接口:Connect、Statement、ResultSet


知识点:

在关系数据库库中查询数据。Statement、ResultSet接口的使用

访问数据库的步骤:

  • 连接到一个数据源,如一个SQLServer数据库系统。

  • 发送查询和更新的语句到该数据库系统。

  • 获取和处理由上述访问数据库得到的结果,返回给程序。


案例:Statement、ResultSet接口编写数据查询功能:

package jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

 

publicclass TestConnect {

    publicstaticvoid main(String[] args) {

       try {

           Connection con;

           con = DriverManager.getConnection(

                  "jdbc:sqlserver://localhost;databaseName=salary", "sa",

                  "12345");

           java.sql.DatabaseMetaData dma = con.getMetaData();

           System.out.println("驱动程序" + dma.getURL());

           System.out.println("驱动程序" +dma.getDriverName());

           System.out.println("版本" +dma.getDriverVersion());

           Statement stmt = con.createStatement();

           ResultSet rs = stmt.executeQuery("select * from teacherinfo");

           boolean hasData =rs.next();

           if (hasData)

              System.out.println(rs.getString(1));

// System.out.println(rs.getString("teachername"));

       } catch (Exception e) {

           e.printStackTrace();

       }

    }

}

上述代码运行完毕:可以得到第一行第一列的值,00001.

分析步骤:

第一步:在SQLServer中输入select语句,成功运行查看数据后,将SQL语句粘贴到Java代码中。

通过Statement 的executeQuery方法得到查询结果集对象

第二步:结果集对象的使用

游标指向结果集第一行,判断是否存在这一行,存在则依次获取这一行中的每个单元格数据。

练习:

紧接上述案例:

第三步:获取第二行的数据

第四步:如何通过循环获取全部数据

可能遇到的错误提示:

1.com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行。

这是因为,没有调用ResultSet对象的next方法,游标指向空行;或者结果集为空。

测试题:

jdbc编程访问salary数据库,在控制台中输出:

—  输出“张三”的教师信息,包括张三的工号、姓名、年龄、性别、职称。

—  输出“张三”的姓名和年龄。

—  编程:输出工号为“00099”的教师全部信息,如果不存在,输出“不存在”

—  输出教师中最小年龄的教师姓名

—  输出所有姓“张”的教师姓名

Key:

—  "Select teachername  from teacherinfo where age =(Select min(age)FROM   teacherinfo)"

—  "Select * from teacherinfowhere teachername like '张%'"