ResultSet 中的getString()方法的用法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ResultSet 中的getString()方法的用法?相关的知识,希望对你有一定的参考价值。
ResultSet rs;
Sting s=rs.getString(1),请问括号中的1是什么意思啊?
比如我表中的为id,username,password,其中id为int,username为varchar,password也为varchar类型的,我现在想得到password的值,是用getString(?),括号中应该填的数字是什么啊?
取值的时候和数据库中的表有关系吗?
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=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)。
ResultSet rs = stmt.executeQuery("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 编程语言
参考技术A 返回所对应的字段 比如你的表中字段为id,name,passwordrs.getString(1)就是返回id的值
rs.getString(2)就是返回name的值
或者也可以写成rs.getString("id");
rs.getString("name");
如果你表中的字段类型为字符型就用rs.getString();
如果是整型用rs.getInt();
补充楼主的问题:
你直接用rs.getString("password");就可以了
也别?是几的问题了 参考技术B 1是在数据库表中第几列,第一列是id
第二列就是username,以此类推
也可以写成
rs.getString("id")必须id列是varchar char类型的 参考技术C 应该填的数字为3,
也可以直接填“password”,
取值得时候数据库表里的字段,要与SQL语句相识. 参考技术D 返回第一列的数据(String)
resultSet.getString() 为空值返回啥
【中文标题】resultSet.getString() 为空值返回啥【英文标题】:What does resultSet.getString() return for null valueresultSet.getString() 为空值返回什么 【发布时间】:2014-05-12 14:51:11 【问题描述】:我正在数据库中查询数据库中可能为空的一些值。当我在 resultSet 上调用 getString() 时,如果 DB 值为 null,getString 返回的值是多少?这是javadoc:
Retrieves the value of the designated column in the current row of this ResultSet
object as a String in the Java programming language.
Parameters:
columnLabel the label for the column specified with the SQL AS clause. If the SQL AS
clause was not specified, then the label is the name of the column
Returns:
the column value; if the value is SQL NULL, the value returned is null
Throws:
SQLException - if the columnLabel is not valid; if a database access error occurs or
this method is called on a closed result set
它说返回值为空,但我不确定这是否意味着“空”或空。我知道我可以让我的代码明显测试这两个值以查看它是否为空,但我不希望它测试不必要的条件。
【问题讨论】:
做一个简单的测试。它将返回null
,而不是"null"
。
***.com/questions/5991360/… 的可能重复项
【参考方案1】:
它说返回值为空,但我不确定这是“空”还是空
在标准 Java 库中,如果它曾经说“可以返回 null”,则表示引用,也就是 null
。
但我不希望它测试不必要的条件。
在 java 中,如果您与 null
打交道,通常最好还是检查一下,即使找到 null
的机会很小。
【讨论】:
【参考方案2】:jdbc 在 Windows 10 上使用 mariadb 5.5 - 空列 getString()
返回字符串值“null”,在 rs.getString()
之后立即调用 rs.wasNull()
返回 false。
注意:我通过查询“... WHERE my-column-name IS NULL”仔细检查了数据库,以确认数据库实际上将其存储为空值。
因此,虽然生活在象牙塔中并始终信任 javadocs 是件好事,但没有什么比自己编写一个快速测试更好的了。虽然我同意为 null 编写多个测试是低效的,但除非你能保证你的应用程序将在特定的数据库/版本上运行,否则这可能是一个好主意。
【讨论】:
以上是关于ResultSet 中的getString()方法的用法?的主要内容,如果未能解决你的问题,请参考以下文章