网站大量收购独家精品文档,联系QQ:2885784924

JDBC-基础解析.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JDBC-基础解析

* (3)主动获取查询结果(Statement方法) 如果当前结果是ResultSet类型,可以使用getResultSet方法获得当前结果集,然后对其进行处理。 如果当前结果是一个更新记录数,可以使用getUpdateCount方法获得更新记录数。 如果当前结果是一个ResultSet对象或没有结果了,则返回值为-1。所以首先应该检查一个结果是否是ResultSet类型,如果不是,则可能是更新记录数,或不再有结果。 getMoreResults返回值为boolean类型,如果下一个结果是ResultSet类型,则返回true,否则返回false。 2 使用JDBC访问数据库 * 例Statement的主动获取查询结果方法: String dburl=jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=c:\\student.mdb; Connection conn=DriverManager.getConnection(dburl, , );// user:admin Statement stmt=conn.createStatement(); stmt.execute(select * from student); //未接受返回值 //stmt.executeQuery(select * from student);//也行 ResultSet rs=stmt.getResultSet(); //获取执行sql后的结果集 while(rs.next()) System.out.println(rs.getString(name)); rs.close(); stmt.execute(delete from student where sno1); int sum=stmt.getUpdateCount(); //获取执行sql后的影响行数 System.out.println(影响行数:+sum); stmt.close(); conn.close(); 2 使用JDBC访问数据库 * 2.2.3 PreparedStatement Statement对象在每次执行SQL语句时,都要把SQL传递给数据库进行解析,在多次执行同一条语句时,效率很低。 ResultSet r=null; r=stmt.executeQuery(SELECT * FROM student WHERE name=zhangsan); r=stmt.executeQuery(SELECT * FROM student WHERE name=lisi); r=stmt.executeQuery(SELECT * FROM student WHERE name=wangwu); 如果数据库支持预编译,PreparedStatement对象可以把SQL语句传递给数据库进行预编译,以后每次执行同样的SQL语句时,速度可以提高很多。 2 使用JDBC访问数据库 * (1)创建一个PreparedStatement对象 PreparedStatement对象的SQL语句可以接受参数。在语句中,指出需要接受哪些参数,然后进行预编译。 PreparedStatement对象上的查询语句和更新语句都可以设置输入参数。在生成PreparedStatement对象时,在SQL语句中用?标明参数,在执行SQL语句前,可以使用setType方法进行赋值。 例: PreparedStatement pstmt = conn.prepareStatement(SELECT * FROM student WHERE name=?); 2 使用JDBC访问数据库 * 使用executeQuery或executeUpdate方法执行 每一次执行SQL语句前都可以对参数重新赋值。 setType方法用于给相应的输入参数赋值。Type是JDBC的数据类型,如Int、String等。setType方法有两个参数,第一个参数代表要赋值的参数在SQL语句中的位置,第一个要赋值的参数的位置为1,第二个要赋值的参数的位置为2,以此类推。 例: pstmt.setInt(1,100); pstmt.setString(2,张三); 2 使用JDBC访问数据库 * (2)执行查询语句 ResultSet r=pstmt.executeQuery( ); 该类对象在调用executeQuery方法时,无需传递给方法参数。因为在创建PreparedStatement对象

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档