java access 取表中某一行的数据

java access 取表中某一行的数据,第1张

ResultSet接口提供了一整套的定位方法

这些可以在记录集中定位的任意一行,具体有:

public

boolean

absolute(int

row)该方法的作用是将记录集中的某一行设定为当前行,亦即将数

据库游标移动到指定的行,参数row指定了目标行的行号,这是绝对的行号,由记录集的第一行开始计算,

不是相对的行号。

public

boolean

relative(int

rows)该方法的作用也是将记录集中的某一行设定为当前行,但是它

的参数rows表示目标行相对于当前行的行号,例如当前行是第3行,现在需要移动么第6行去,既可以使用

absolute()方法,也可以使用frelative()方法,代码如下。

例:

rs.absolute(5)

或者

rs.relative(2)

其中rs代表ResultSet接口的实例对象。

又如当前行是第5行,需要移动到第3行去,代码如下。

例:

rs.absolute(3)

或者

rs.relative(-2)

其中rs代表ResultSet接口的实例对象。

读者需要注意的问题是,传递给relative()方法的参数,如果是正数,那么数据库游标向前移动,如

果是负数,那么数据库的游标向后移动。

注意:在本间中所说的数据库游标向前移动是指向行号增大的方向移动,向后移动是指向行号减少的

方法移动。

public

boolean

first()该方法的作用是将当前行定位到数据库记录集的第一行。

public

boolean

last()该方法的作用刚好和first()方法相反,是将当前行定位到数据库记录集的最

后一行。

public

boolean

isFirst()该方法的作用是检查当前行是否记录集的第一行,如果是,返回true,否

则,返回false。

public

boolean

isLast()该方法的作用是检查当前行是否记录集的最后一行,如果是,返回true,

否则,返回false。

public

void

afterLast()该方法的作用是将数据库游标移到记录集的最后,位于记录集最后一行的

后面,如果该记录集不包含任何的行,该方法不产生作用。

public

void

beforeFirst()该方法的作用是将数据库的游标移动记录集的最前面,位于记录集第一

行的前面,如果记录集不包含任何的行。该方法不产生作用。

public

boolean

isAfterLast()该方法检查数据库游标是否处于记录集的最后面(即是否处于最后一

行记录的后面),如果是,返回true,否则,返回false。

public

boolean

isBeforeFirst()该方法检查数据库游标是否处于记录集的最前面(即是否处于最前

面一行记录的前面),如果是,返回true,否则,返回false。

public

boolean

next()该方法的作用是将数据库游标向前移动一位,使得下一行成为当前行,当刚

刚打开记录集对象时,数据库游标的位置在记录集的最前面,第一次使用next()方法,将会使数据库游标

定位到记录集的第一行,第二次使用next()方法,将会使数据库游标定位到记录集的第二行,以此类推。

注意:如果在当前行打开了一个输入流(Input

Stream),那么再次使用next()方法时,将会自动关闭

该输入流。

public

boolean

previous()该方法的作用是将数据库游标向后移动一位,使得上一行成为当前行。

具体使用例子:

rs.absolute(500)

建议去www.csdn.net注册账号,那里面高手如云

楼主给分哦!呵呵

1.可以用离线查询,就是先把数据都取出来,再用list *** 作。

2.实时查询,每次查询5条记录,即第一条,下一条,当前记录,前一条,最后一条。这样就有了每条记录的id号,再提交按钮的是后直接用java查询,重复即可。

1、登陆SYS用户,执行以下代码

begin

Dbms_Java.Grant_Permission('PSIID','java.io.FilePermission', '<<ALL FILE>>','read ,write, execute, delete')

Dbms_java.grant_permission('PSIID', 'SYS:java.io.FilePermission', '<<ALL FILES>>','read ,write, execute, delete')

Dbms_Java.Grant_Permission('PSIID', 'java.io.FilePermission', 'd:a.bat','read ,write, execute, delete')

dbms_java.grant_permission('PSIID', 'java.lang.RuntimePermission','*','writeFileDescriptor' )

end

2、登陆psiid用户创建java程序资源

create or replace and compile

java source named "Util"

as

import java.io.*

import java.lang.*

public class Util extends Object

{

public static int RunThis(String args)

{

Runtime rt = Runtime.getRuntime()

int rc = -1

try

{

Process p = rt.exec(args)

int bufSize = 4096

BufferedInputStream bis =

new BufferedInputStream(p.getInputStream(), bufSize)

int len

byte buffer[] = new byte[bufSize]

// Echo back what the program spit out

while ((len = bis.read(buffer, 0, bufSize)) != -1)

System.out.write(buffer, 0, len)

rc = p.waitFor()

}

catch (Exception e)

{

e.printStackTrace()

rc = -1

}

finally

{

return rc

}

}

}

3、创建调用Java资源的函数

create or replace function RUN_CMD(p_cmd in varchar2) return number

as

language java name 'Util.RunThis(java.lang.String) return integer'

4、建立一过程调用存储过程

create or replace procedure RUN(p_cmd in varchar2)

as

x number

begin

x := run_cmd(p_cmd)

end

------------------------------

------- 执行例子

------------------------------

--d:a.bat 文件

cd d:

rename %1 %2

SQL>exec rc('d:a.bat mytest.sql b.sql')

D:oracleora92DATABASE>cd d:

D:>rename mytest.sql b.sql

exec :x := RUN_CMD('ipconfig')

variable x number

exec dbms_java.set_output(100000)

exec :x := RUN_CMD('ipconfig')

exec :x := RUN_CMD('d:a.bat')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/sjk/10069537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存