JSP 在数据库中查询出一列的值 得到结果集ResultSet, 我该怎么样把这一列的值一个个的取出呢

JSP 在数据库中查询出一列的值 得到结果集ResultSet, 我该怎么样把这一列的值一个个的取出呢,第1张

用下面的语句就可以了吧

ResultSet resultSet = statementexecuteQuery("select from userinfo;");

while (resultSetnext())

{

String str_1 = resultSetgetString(1);

String str_2 = resultSetgetString(2);

String str_3 = resultSetgetString(3);

}

你看一下你数据库中有多少数据。然后看看你连接的是不是一个数据库。上一次我就是连接错了。郁闷半天。

然后你打断点使用 IDE debug一下看一看。

你直接看一下 resultset 中都有什么。

在JDK11中,ResultSet类中只定义了next()方法支持数据指针的下移但在Java

2中,ResultSet类增加了如下方法支持数据指针的移动,包括:

ResultSetfirst():将数据指针移到结果集的第一行

ResultSetlast():

将数据指针移到结果集的最后一行

ResultSetprevious():

将数据指针上移一行

以上的方法定义在JDBC20的规范中,所有支持JDBC

20的JDBC驱动程序都可以支持上述方法目前Intersolv和OpenLink等JDBC驱动程序厂商均有产品支持JDBC

20

请参考

1、getString:String getString(int columnIndex),throws SQLException以Java编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。

2、1代表第一列。

例如:

columnIndex - 第一个列是1,第二个列是2,……

返回:

列值;如果值为SQL NULL,则返回值为null

抛出:

SQLException 

扩展资料:

ResultSet 对象的用法:

ResultSet 对象具有指向其当前数据行的指针。最初,指针被置于第一行之前。next 方法将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。

默认的 ResultSet 对象不可更新,仅有一个向前移动的指针。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。

可以生成可滚动和/或可更新的 ResultSet 对象。以下代码片段(其中 con 为有效的 Connection 对象)演示了如何生成可滚动且不受其他更新影响的、可更新的结果集。请参阅 ResultSet 字段以了解其他选项。

[pre]Statementstmt=concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE)。

ResultSet rs = stmtexecuteQuery("SELECT a, b FROM TABLE2"); // rs will be scrollable, will not show changes made by others, // and will be updatable。

ResultSet 接口提供用于从当前行检索列值的获取方法(getBoolean、getLong 等)。可以使用列的索引编号或列的名称检索值。一般情况下,使用列索引较为高效。列从 1 开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,而且每列只能读取一次。

对于获取方法,JDBC 驱动程序尝试将基础数据转换为在获取方法中指定的 Java 类型,并返回适当的 Java 值。JDBC 规范有一个表,显示允许的从 SQL 类型到供 ResultSet 获取方法使用的 Java 类型的映射关系。

用作获取方法的输入的列名称不区分大小写。用列名称调用获取方法时,如果多个列具有这一名称,则返回第一个匹配列的值。

参考资料来源:百度百科--ResultSet

参考资料来源:百度百科--Java 编程语言

你可以让他循环一次设置一个参数自加一,结束打印这个参数就行了,一般都是只看结果集,看条数的话这样做就行了,没方法的时候其实你可以自己创造方法

int num=0;

while(rsnext){

num++;

}

systemoutprintln(num);

先调用它的last()方法把指针放到最后,在用getRow();获得所在行行标就是一共得记录条数~

即:

rslast();

int rowCount=rsgetRow();

拷贝一段给你看看:

ResultSetfirst()问题的解决方法

Statement statement =

connectioncreateStatement

(ResultSetTYPE_SCROLL_SENSITIVE,ResultCONCUR_UPDATABLE);

//或者

(ResultSetTYPE_SCROLL_INSENSITIVE,ResultCONCUR_UPDATABLE);

//TYPE_SCROLL_SENSITIVE结果集可以任意滚动,而且动态反映底层数据变化

//TYPE_SCROLL_INSENSITIVE结果集可以任意滚动,不能动态反映底层数据变化

//CONCUR_UPDATABLE结果集可以动态更新,缺点:限制并发访问。也就是说在某一时刻只能由一个用户访问

String

sql="select from table";

ResultSet rs=stmtExecuteQuery(sql);

然后就可以用rsfirst()方法了

以上就是关于JSP 在数据库中查询出一列的值 得到结果集ResultSet, 我该怎么样把这一列的值一个个的取出呢全部的内容,包括:JSP 在数据库中查询出一列的值 得到结果集ResultSet, 我该怎么样把这一列的值一个个的取出呢、jdbc 将ResultSet的结果集封装到java bean中,结果只封装了第一条数据,以下是封装一条数据到一个bean中去、jdbc ResultSet 结果集 怎么处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9342391.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存