数据库系统应用与开发--实验三

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三JDBC基础(2)

一、相关知识点

1、JDBC基本概念

2、JDBC简单查询、preparedstatement、连接查询、集函数查询等

Odbc:

Jdbc:

二、实验目的:

理解Java连接数据库的基本概念。理解Statement对象、PreparedStatement对象和ResultSet对象。

三、实验内容:

1、游标滚动模式试验。

第一步:将RsTest类放入对应的工程包中.zucc.booklib.rstest;

第二步:在BeanSystemUser表中增加一些测试数据;

第三步:运行程序,并查看执行结果。

第四步:将游标滚动模式改成TYPE_SCROLL_SENSITIVE,运行程序,并查看结果

【实验结果与分析】

A、第三步、第四步运行结果截图?并说明区别。

第三步:

第四步:修改前

第四步:修改后

B、

2、利用ResultSet对象进行数据修改

第一步:将RsTest2类放入对应的工程包中.zucc.booklib.rstest;

第二步:运行程序,并查看执行结果。

第三步:删除rs.updateRow(); 允许程序,并查看执行结果

【实验结果与分析】

A、请给出第二步、第三步的执行截图。说明区别,并分析原因。

第二步:

第三步:

3、利用PreparedStatement对象修改实验二的两个对出版社的查询。

第一步:在实验二的基础上,把传入的查询条件(出版社名称)改成带单引号的字符串,并运行程序。查看执行结果。

第二步:将原来的查询函数,改成用PreparedStatement。运行程序,查看执行结果。通用把传入的查询条件(出版社名称)改成带单引号的字符串,并运行程序。查看执行结果。

【实验结果与分析】

A、第一步执行结果截图。

B、第二步执行结果截图。比较两种方式的区别。

4、连接查询,模仿ReaderManager类中的方法:public List

searchReader(String keyword,int readerTypeId)throws BaseException。编写新方法

public List searchReader(String keyword,String readerTypeName)throws BaseException。即把条件中的读者类别ID改成读者类别名称。

【实验结果与分析】

A、修改后的sql语句部分是。

public List searchReader(String keyword,String readerTypeName)throws BaseException{

List result=new ArrayList();

Connection conn=null;

try {

conn=DBUtil.getConnection();

String sql="select

readerid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,crea torUserId,stopDate,stopUserId,rt.readerTypeName" +

" from BeanReader r,BeanReaderType rt where r.readerTypeId=rt.readerTypeId" +

" and removeDate is null ";

//if(readerTypeId>0) sql+=" and

r.readerTypeId="+readerTypeId;

if(keyword!=null && !"".equals(keyword))

sql+=" and (readerid like ? or readerName like ?)";

if(readerTypeName!=null

&& !"".equals(readerTypeName))

sql+=" and r.readerTypeId="+readerTypeName;

sql+=" order by readerid";

java.sql.PreparedStatement

pst=conn.prepareStatement(sql);

if(keyword!=null && !"".equals(keyword)){

pst.setString(1, "%"+keyword+"%");

pst.setString(2, "%"+keyword+"%");

pst.setString(3, "%"+readerTypeName+"%");

}

java.sql.ResultSet rs=pst.executeQuery();

while(rs.next()){

BeanReader r=new BeanReader();

r.setReaderid(rs.getString(1));

r.setReaderName(rs.getString(2));

r.setReaderTypeId(rs.getInt(3));

r.setLendBookLimitted(rs.getInt(4));

r.setCreateDate(rs.getDate(5));

r.setCreatorUserId(rs.getString(6));

r.setStopDate(rs.getDate(7));

r.setStopUserId(rs.getString(8));

r.setReaderTypeName(rs.getString(9));

result.add(r);

}

} catch (SQLException e) {

e.printStackTrace();

throw new DbException(e);

}

finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return result;

}

相关文档
最新文档