ResultSet 中的getString()方法的用法?
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 编程语言
getString
String getString(int columnIndex)
throws SQLException以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。
参数:
columnIndex - 第一个列是 1,第二个列是 2,……
返回:
列值;如果值为 SQL NULL,则返回值为 null
抛出:
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
1代表第一列
第2问题 应该填 3 或者使用 rs.getString("password");
第3问题 当然有关系 如果表里只1条记录 使用if(rs.next())取值 多条 使用while(rs.next())
getString
String getString(int columnIndex)
throws SQLException以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。
参数:
columnIndex - 第一个列是 1,第二个列是 2,……
返回:
列值;如果值为 SQL NULL,则返回值为 null
抛出:
SQLException - 如果 columnIndex 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
1代表第一列
第2问题 应该填 3 或者使用 rs.getString("password");
第3问题 当然有关系 如果表里只1条记录 使用if(rs.next())取值 多条 使用while(rs.next())
rs.getString(1)就是返回id的值
rs.getString(2)就是返回name的值
或者也可以写成rs.getString("id");
rs.getString("name");
如果你表中的字段类型为字符型就用rs.getString();
如果是整型用rs.getInt();
补充楼主的问题:
你直接用rs.getString("password");就可以了
也别?是几的问题了
第二列就是username,以此类推
也可以写成
rs.getString("id")必须id列是varchar char类型的