从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