从Java中的SQL select语句获取一个值

我正在尝试从select语句返回一个值。它唯一的一个值,因为我要返回的值来自主键列。

SQL语句是 SELECT itemNo FROM item WHERE itemName = 'astringvalue';

我获取价值的方法如下:

private String viewValue(Connection con, String command) throws SQLException 

{

String value = null;

Statement stmt = null;

try

{

stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(command);

while (rs.next())

value = rs.toString();

}

catch (SQLException e )

{

e.printStackTrace();

}

finally

{

if (stmt !=

null) { stmt.close(); }

}

return value;

}

我也有getConnection()方法。

这是即时通讯用来调用该viewValue方法的内容:

if((action.getSource() == btnSave) ||(action.getSource() == btnSavePrint) )

{

String findItemNoCommand = "SELECT itemNo FROM `item` WHERE itemName = '" + itemList.getSelectedItem() + "'";

try

{

itemNo = viewValue(conn, findItemNoCommand);

}

catch (SQLException e)

{

e.printStackTrace();

}

System.out.println(itemNo);

}

上面的代码是为 ButtonHandler

现在,因为println我得到一个“ com.mysql.jdbc.JDBC4ResultSet@1e72cae

..我不知道这是怎么回事..但是我假设ResultSet在这里是错误的选择。

我的问题是..我在那可以使用什么呢?

任何关于我做错了什么的帮助或线索都将受到赞赏。

回答:

Right now, for the println I'm getting a

“com.mysql.jdbc.JDBC4ResultSet@1e72cae”

是因为您将ResultSet物件退回这里,value = rs.toString();

从文档中,

ResultSet对象是代表数据库结果集的数据表,通常通过执行查询数据库的语句来生成

您通过游标访问ResultSet对象中的数据。请注意,此游标不是数据库游标。该光标是一个指向ResultSet中的一行数据的指针。最初,光标位于第一行之前。方法ResultSet.next将光标移动到下一行。如果光标位于最后一行之后,则此方法返回false。此方法使用while循环重复调用ResultSet.next方法,以遍历ResultSet中的所有数据。

您应该告诉结果集从列中获取值,

value = rs.getString(1);

通过索引

value = rs.getString("itemNo");

或通过列名

以上是 从Java中的SQL select语句获取一个值 的全部内容, 来源链接: utcz.com/qa/431486.html

回到顶部