kingbase程序员参考手册内容摘要:
向它所涉及的数据库传送 SQL 语句。 通过 JDBC 对可被发送的 SQL 语句类型不加任何限制,它允许使用特定的数据库语句。 Kingbase JDBC Driver 提供了三个类,用于向数据库发送 SQL 语句, Connection 接口中的三个方法可用于创建这些类的实例。 ( 1) Statement 对象:由方法 createStatement 所创建,用于发送简单的 SQL 语句。 ( 2) PreparedStatement 对象:由方法 prepareStatement 所创建,用于发送带有一个或多个输入参数( IN 参数)的 SQL 语句。 ( 3) CallableStatement 对象:由方法 prepareCall 所创建,用于执行 SQL 存储过程。 程序员参考手册 5 程序员参考手册 Kingbase ES JDBC 用户使用手册 Statement对象 Statement 对象由方法 createStatement 所创建, Statement 对象用于发送简单的 SQL 语句,来进行查询或对数据库进行更新。 例如: Statement stmt=()。 (“ update table1 set col1=1” )。 PreparedStatement 对象 数据库服务器在处理 SQL 语句时都是首先生成该语句的执行计划,然后执行。 对于有些应用需要反复处理具有相同执行计划的语句,就会浪费处理资源,这时就可以使用 PreparedStatement 对象,这样,数据库服务器可以提前取得 SQL 语句,并为它创建查询计划,以后该语句就可以多次执行。 PreparedStatemen对象由方法 prepareStatement所创建,用于发送 带有一个或多个输入参数( IN参数)的 SQL 语句。 PreparedStatement 对象具有一组 setXXX()方法,用于设置 IN 参数的值。 执行语句时,这些 IN参数将被送到数据库中。 处理一个带参数的 SQL 语句通常包括以下过程: (1) 生成一个 PreparedStatement 对象,对语句进行预编译。 (2) 设置参数。 (3) 执行语句,获取结果。 例如 : PreparedStatement pstmt = ( “ UPDATE EMPLOYEES SET SALARY=? WHERE ID=?” )。 int i。 for(i=0。 I。 I++) { (1,employee[i].salary)。 (2, employee[i].id)。 Kingbase ES 金 鼎 数 据 库 管 理 系 统 6 ()。 } 注意: Kingbase JDBC 目前的版本还不能获取参数的元数据信息。 CallableStatement 对象 提供了对调用数据库中存储过程的支持,用户可以在高级语言中使用服 务器端的存储过程。 CallableStatement 对象由方法 prepareCall 所创建,用于执行存储过程。 CallableStatement 对象从 PreparedStatement 中继承了用于处理 IN 参数的方法,而且还增加了用于处理 OUT 参数和 INOUT 参数的方法。 CallableStatemen 对象由方法 prepareCall 所创建,用于发送带有一个或多个输入参数( IN 参数)和输出参数( OUT 参数)或输入输出参数( INOUT 参数)的 SQL 语句。 CallableStatement 对象继承了 PreparedStatement 的 setXXX()方法,用于设置 IN 参数的值。 在执行语句前必须用 CallableStatement 的特有方法 registerOutParameter()对 OUT/INOUT 参数进行注册 ,语句执行之后,可以用 getXXX()方法获取参数值。 处理一个存储过程的 SQL 语句通常包括以下过程: (1) 生成一个 CallableStatement 对象,对语句进行预编译。 (2) 提取参数信息。 (3) 设置参数。 (4) 注册输出参数。 (5) 执行语句。 (6) 获取输出参数的返回值。 要获取参数的元数据信息可以直接用从 PreparredStatement 类 的 继 承 的getParameterMetaData()方法来实现 如: ParameterMetaData pmd=()。 例如 : CallableStatement cstmt = (“ call procName(?,?,?)” )。 //参数 1为 INOUT 类型,参数 2为 IN 类型,参数 3 为 OUT 类型 //注册输出参数 (1,)。 程序员参考手册 7 程序员参考手册 Kingbase ES JDBC 用户使用手册 (3,)。 //获取参数信息 ParameterMetaData pmd=()。 //设置输出参数 (1,5)。 (2, )。 //执行语句 ()。 //获取输出参数值 int I=(1)。 float f=(3)。 查询结果集的处理 在建立了到服务器端的连接之后,我们可以在该连接上执行查询语句,并返回结果集对象,具体方法如下: ( 1)创建一个语句对象( Statement,PreparedStatement)。 Statement stmt=()。 ( 2)执行一条 SQL 查询语句,并返回结果集。 ResultSet rs=(“ select * from table1” )。 或者 , (“ select * from table1” )。 ResultSet rs=()。 注意 : 用户在创建语句的同时还可以指定结果集的类型、并发性和 hold 方式。 目前, Kingbase ES 的 JDBC Driver 支 持 的 结 果 集 类 型 是 : TYPE_FORWARD_ONLY 和TYPE_SCROLL_INSENSITIVE,暂时不支持 TYPE_SCROLLSENSITIVE。 结果集的并发性支持: CONCUR_READ_ONLY 和 CONCUR_UPDATABLE。 结果集的 hold 方式支持 CLOSE_CURSORS_AT_COMMIT,而对 HOLD_CURSORS_OVER_COMMIT 暂时不支持。 在生成结果集时,用户还可以获取结果集的元数据( MetaData),即对结果集中各列的描述信息。 例: ResultSetMetaData rsmd=()。 Kingbase ES 金 鼎 数 据 库 管 理 系 统 8 结果集的读取 在 ResultSet 第一次创建时,指针定位在第一行的前面,通过 ResultSet 中提供的各个定位函数使 ResultSet 指针指向实际要访问的数据行,然后使用 getXXX 方法读取结果集中当前行或列的值。 具体来讲, ResultSet 中的定位函数有: next, absolute, afterLast, beforeFirst, first,last, previous, moveToInsertRow, moveToCurrentRow。 对于 TYPE_FORWARD_ONLY 类型的结果集只能使用 next()方法移动 ResultSet 指针。 例如: Statement stmt=()。 ResultSet rs=(“ select * from table1” )。 while (()) ( (1))。 对结果集的更新 除了利用更新语句来对数据库进行更新以外,我们还可以通过对结果集进行更新,来达到更新数据库的目的。 但要注意:这种情况下,结果集的并发性类型必须为 CONCUR_UPDATABLE。 用户对结果集的更新同时作用于数据源。 例如 : Statement stmt=(TYPE_SCROLL_INSENSITIVE, CONCUR_UPDATABLE)。 ResultSet rs=(“ select * from table1” )。 ()。 (1,21)。 //修改当前行第一列的值为 21。 ()。 //作用于数据源 如果不支持可更新的结果集,我们还可以采用定位更新的方式来对数据库进行更新。 该方法通过游标名使得多个 Statement 对象作用到同一个结果集。 注意:要进行定位更新,必须将该连接的提交模式设置为非自动提交。 否则可能会由于第二条语句的执行导致第 一条语句提交而出现错误。 例如: Statement stmt=()。 程序员参考手册 9 程序员参考手册 Kingbase ES JDBC 用户使用手册 (“ cursor1” )。 ResultSet rs=(“ select author from table1 for update” )。 ()。 String cursorName =()。 Statement stmt2=()。 Int updateCount=(“ update table1 set author=” Tom” where current of “ + cursorName)。 批处理 Kingbase ES JDBC 支持 SQL 语句的批处理功能。 Statement 和它的子类通过 addBatch()方法支持批处理功能。 例如: Statement stmt = ()。 int[] rows。 for(int i=0。 i。 i++) { (“ UPDATE EMPLOYEES SET SALARY=” + employees[i].salary + “ WHERE ID=” + employee[I].id)。 } rows = ()。 在批处理中也可以使用 PreparedStatement 对象,例如: PreparedStatement stmt = ( “ UPDATE EMPLOYEES SET SALARY=? WHERE ID= ?” )。 int[] rows。 for(int i=0。 i。 i++) { Kingbase ES 金 鼎 数 据 库 管 理 系 统 10 (1,employee[i].salary)。 (2, employee[i].id)。 } rows = ()。 事务处理 事务的提交与回滚 应用程序创建一个连接时,该连接默认事务自动提交,用户可以在 Connection 对象中设置事务提交模式(分为自动提交和非自动提交两种),方法如下: (boolean autoCommit)。 当 autoCommit 为 true 时,表示为自动提交模式,这种情况下,该连接下的所有语句在执行完之后都会自动提交。 否则为非自动提交模式。 在非自动提交模式下,用户在一个事务执行完成之后需要显式调用 方法来提交事务。 方法如下: ()。 否则,当该事务需要回滚时,则需要显式调用 方法。 ()。 事务的隔离级别 Kingbase 支 持 的 事 务 隔 离 级 别 有 : TRANSACTION_READ_COMMITTED 和TRANSACTION_SERIALIZABLE,默认的事务隔离级别为 TRANSACTION_READ_COMMITTED。 用 户 可 以 通 过 来 指 定 事 务 隔 离 级 别 , 通 过 来读取当前事务隔离级别。 大对象数据的处理 在 Kingbase ES 中 ,大对象 数据 用于保存那些无法在通常 SQL 表里面保存的数据 ,例如声音、图象、大文本等。 在 Kingbase ES 中提供了用来存储大对象数据的数据类型 BLOB,用来存储大数据 程序员参考手册 11 程序员参考手册 Kingbase ES JDBC 用户使用手册 量的二进制数据。 JDBC 中提供了两个接口用于处理大对象数据: 和 , Kingbase ES JDBC 实现了这两个接口。 注意: ,必须使用 setAutoCommit(false) 方法 关闭自动提交设置。 ES 目前的版本还没有实现 CLOB 数据类型,因此 Kingbase ES JDBC 目前的版本实现 CLOB 对象时是借助于 Kingbase ES 的 BLOB 类型数据的存储方式。 大对象数据的读取 同检索其他数据类型一样,用同样的方法可以从一个结果集中检索 Blob 和 Clob 这两种数据类型的数据,该获得方法为: Blob b=()。 Clob c=()。 与其它数据类型不同,调用 getBlo。kingbase程序员参考手册
相关推荐
风暂秉阂僳眩撅稍裕涧蠢问松尝翔判拘潦阔怪紫掣垮卡溉幻移格姿众臃往纯蜀 SR=(FmaxFmin)/ — Fm100% 式( 2) LC 20AT高效液相色谱仪验证方案 LC 20AT高效液相色谱仪验 证 方 案规格型号 LC20AT设备编号 023使用岗位中药制剂室药检岗位制造厂商岛津企业管理 (中国 )有限公司目录 1. 参与验证的相关部门及其职责
..........................................................................................................................66 道头内容显示对话框 ................................................................
的不希望有的微量物质,并把苯酚转化成苯酚钠。 碱液通常由粗 AMS 洗涤罐提供,若需要补充,可使用由界外提供的 20wt%的碱液。 位于上面的一个加碱点可以用 来自粗 AMS 洗涤罐( V2402)水进行稀释。 丙酮产品通过重力经冷却器( E2325)进入丙酮中间罐( TK2325A/B)。 这些储罐都装有内浮顶,使丙酮损耗减至最低程度,同时满足环境保护要求。 苯酚精馏
组织 +会计政策”下所有库存组织的启用日期不属于该核算组织的启用会计年度及启用会计期间,则取数来源为库存余额表。 存货核算操作规程 9 初始核算数据录入 获取库存组织期初库存数量,维护期初库存成本。 使用前提 已启用存货核算系统。 功能路径 【成本管理】- 【存货核算】- 【初始化】- 【初始核算数据录入】 操作说明 点 新增 按钮,选择核算体系、核算组织及会计政策就可获取期初库存数量
⑶ 电预埋管路宜沿最近线路敷设,应尽量减少弯曲,用线管的弯曲丝接套丝,折扁裂缝焊接,管口应套丝用堵头堵塞。 油漆防腐等均符合图纸各施工规范及质 量评定标准。 ⑷ 灯具、插座、开关等器具安装,其标高位置应符合设计要求,表面应平直洁净方正。 ⑸ 灯具、插座、开关等器具必须选用合格产品,不合格产品严禁使用。 ⑹ 做好各种绝缘接地电阻的测试和系统调整记录,检查配线的组序一定要符合设计要求。 五