1、第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术1Statement&ResultSet Statement定义运行SQL指令所需的方法成员,如果运行的SQL是一种SELECT类型的指令。ResultSet则封装Statement运行SQL指令之后所返回的数据内容,用户通过ResultSet取得SQL语句返回的数据内容。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术2Statement&ResultSet第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术3Statement 成员成员方方
2、 法法说说 明明close()结束对象,释放占用资源 addBatch(String sql)将要运行的SQL指令加到批次指令中 clearBatch()清除所有的SQL批次运行指令 executeBatch()运行SQL批次指令 execute(String sql)运行SQL一般指令 executeQuery(String sql)运行SQL查询指令,如select指令 executeUpdate(String sql)运行SQL更改指令,如insert、delete、update getConnection()返回产生这个Statement对象的Connection对象 setMaxRo
3、ws(int max)设定ResultSet对象中可包含的最多数据数目为max getMaxRows()返回ResultSet对象中可包含的最多数据数目 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术4ResultSet 成员成员方方 法法说说 明明absolute(int index)移动指针到第index笔数据 first()移动指针到第一笔数据 last()移动指针到最后一笔数据 afterLast()移动指针到最后一笔数据之后 beforeFirst()移动指针到第一笔数据之前 next()移动指针到下一笔数据 previous()移动指针到上一笔
4、数据 relative(int rows)将指针往上或往下移动rows个位置,往上移则rows为负数,往下移则rows为正数 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术5ResultSet 成员成员方方 法法说说 明明isAfterLast()返回布尔值表示指针是否位于最后一笔数据之后 isBeforeFirst()返回布尔值表示指针是否位于第一笔数据之前 isFirst()返回布尔值表示指针是否位于第一笔数据的位置 isLast()返回布尔值表示指针是否位于第一笔数据的位置 getRow()返回目前指针所指数据的位置 第第14章章 数据变动功能网页数
5、据变动功能网页 JSP 动态网页新技术动态网页新技术6ResultSet 成员成员方方 法法说说 明明getString(int index)返回目前指针所指的数据,第index字段中的字符串 getString(String name)返回目前指针所指的数据,字段名称为name中的字符串 getInt(int index)返回目前指针所指的数据,第index字段中的数值 getInt(int index)返回目前指针所指的数据,第index字段中的数值 getInt(String name)返回目前指针所指的数据,第index字段中的数值 deleteRow()删除指针所在的该笔数据 ref
6、reshRow()重设数据中的值为上一次更新前的值 getFetchSize()返回ResultSet对象中可包含最多的数据笔数 close()结束对象,释放占用资源 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术7运行运行SQL一般指令一般指令 Connection con=DriverManager.getConnection(jdbc:odbc:webData);Statement smt=con.createStatement();String sql=create table people;smt.execute(sql);Statement对象
7、smt是由Connection类型的对象con调用createStatement()所产生的,而在定义了一个建立数据表的SQL指令字符串sql后,运行smt.execute(sql)来运行SQL指令。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术8变动数据表变动数据表 变动数据表结构的方式,只需将相关的SQL指令传入execute(sql)方法即可。SQL变动指令是指对数据库进行新增(insert)、删除(delete)或更新(update)等操作。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术9运行运行SQL查询查询
8、指令指令 executeQuery()方法方法在运行完成之后,会返回一个ResultSet类型的对象,其中封装了代表查询结果的数据内容:Connection con=DriverManager.getConnection(jdbc:odbc:webData);Statement smt=con.createStatement();String sql=SELECT*FROM Author;ResultSet rs=smt.executeQuery(sql);第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术10ResultSet对象对象 ResultSet对象
9、是运行SQL查询后,所产生的数据集合对象,代表一种表格状的数据集合对象,包含SQL语句所产生的数据内容。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术11指针位置指针位置 ResultSet对象返回的时候,指针在第一条数据之前的开头位置。利用方法next()将指针往下移动。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术12获取字段内容获取字段内容 getString()方法取得其中的字段值。strID=rs.GetString(0);strName=rs.GetString(1);根据字段的索引顺序,将索引值当作参数传
10、入getString()方法,便可以取得字段的内容。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术13SQL批处理批处理指令指令 SQL批处理指令可一次运行多段SQL指令。用户可以设定多个要运行的SQL指令,将这些SQL指令以addBatch()方法加到批处理文件中,而后引用executeBacth()方法运行。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术14交易交易 交易是以一个批次为单位运行数个独立的SQL指令。交易将操作数据库的操作视为不可分割的过程。一旦过程中某段SQL运行发生错误,则先前所有运行完毕的步骤都
11、将失效,只有整个交易过程成功运行完成之后,所有SQL指令的变动内容才会整个生效。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术15交易方法交易方法 交易的状态必须由Connection作设定。setAutoCommit()用来设定是否目前的联机处于交易状态。rollback()为取消交易的任何操作,将所有状态回复到未运行任何操作的初始状态。commit()则是确认所有交易的操作。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术16交易交易过程过程第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网
12、页新技术17设定交易设定交易 Connection默认会自动确认每一次数据库的操作行为,要改变这种行为,只需取消自动确认的行为即可。conn.setAutoCommit(false);setAutoCommit()接受一个boolean参数,当这个值为false的时候,联机的自动确认的预设行为会被取消。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术18取消取消与确认与确认 一旦这一段程序代码被运行,所有交易开始运行的操作都将失效:conn.rollback();当所有的操作都已经正确无误的被完成之后,呼叫commit()可以确认整个交易被完成。mit();
13、第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术19控制指针控制指针 默认情况下,ResultSet对象只能引用next()方法控制指针一次往前移动一格。Statement smt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);这行程序代码所生成的Statement对象smt来运行数据查询的SQL指令,产生的ResultSet对象其指针就不会被限定只能往下依序逐行移动了。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动
14、态网页新技术20JSTL SQL标签标签分分 类类标标 签签说说 明明联机 setDataSource设定数据来源 SQL操作指令 query设定SQL查询 param设定SQL参数 update设定SQL变动 dateParam日期参数解析 transaction批量交易 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术21 语法语法第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术22-属性属性属属 性性动态动态类类 型型说说 明明dataSource是String or javax.sql.DataSource数据源名
15、称字符串,可指定为JNDI来源或是JDBC联机字符串 driver是StringJDBC参数字符串,驱动程序类名称 url是StringJDBC参数字符串,数据来源名称 user是String数据库用户账号 password是String数据库用户密码 var否String储存联机设定的变量名称 scope否String变量范围 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术23dataSource dataSource代表一个联机字符串,所有的联机信息可以被直接设定在这个属性当中。url,driver,user,password url为联机数据库的来源
16、位置,即ODBC数据源。driver为所需的驱动程序类名称。user与password则分别是数据库的联机账号与密码,如果数据库没有设定,则这两个值可以被省略。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术24属性设定属性设定属属 性性属属 性性 值值urljdbc:odbc:webDatadriversun.jdbc.odbc.JdbcOdbcDriver第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术25标签设定数据源标签设定数据源 通过标签设定数据来源:不使用数据源的设定方式如下:第第14章章 数据变动功能网页数据
17、变动功能网页 JSP 动态网页新技术动态网页新技术26 语法语法1:无本体内容:无本体内容 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术27 语法语法2:包含指定搜寻参数的本体内容:包含指定搜寻参数的本体内容 actions第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术28 语法语法3:包含指定搜寻参数与选择性参数的本体内容:包含指定搜寻参数与选择性参数的本体内容 queryoptional actions第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术29-属性属性属属 性性动动
18、 态态类类 型型说说 明明sql是包含SELECT之SQL字符串SQL指令 dataSource是String orjavax.sql.DataSource数据源名称字符串,可指定为JNDI数据源或是JDBC联机字符串 maxRows是StringSQL指令返回结果当中所包含的最大数据笔数,设定值省略或是等于-1时,返回结果将没有限制 startRow是StringSQL指令开始返回的数据内容索引 var否String储存输出结果 scope否String变量范围 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术30 语法语法1:将参数值指定给属性:将参数值
19、指定给属性value 语法语法2:将参数值指定给本体内容:将参数值指定给本体内容 parameter value 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术31 语法语法1:无本体内容:无本体内容 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术32 语法语法2:包含指定搜寻参数的本体内容:包含指定搜寻参数的本体内容 actions 第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术33 语法语法3:包含指定搜寻参数与选择性参数的本体内容:包含指定搜寻参数与选择性参数的本体内容 up
20、date statementoptional actions第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术34 JSTL另外提供一组标签专门用来处理这种类型的数据。语法语法 此标签的语法除了让网页设计人员指定所要使用的数据值,同时可以用来设定此参数值为日期或是时间格式。第第14章章 数据变动功能网页数据变动功能网页 JSP 动态网页新技术动态网页新技术35-属性属性属属 性性动动 态态类类 型型说说 明明value是java.util.Date使用于字段为日期时间的参数值 type是String日期时间类型,为以下3个值其中一个:date,time或是timestamp