Java SQL如何从列中获取值?

时间:2011-11-05 06:50:48

标签: java sql

很高兴认识你们!我想通过简单的以下代码从列中获取价值:

String statement = "select rated,vote_count from iptv_media_source where channel_id= '"
                + channelId + "'"; 
float rated = 0; 
int vote_count =0;

try {           
    rs =Main.db.getCon().createStatement().executeQuery(statement);
    rated = rating.getFloat("rated");
    vote_count = rating.getInt("vote_count");       
vote_count++; rated++;

    statement = "UPDATE iptv_media_source SET rated = '"+rated+"' , vote_count = '"+vote_count+"' WHERE channel_id= '" + channelId + "'";
    Main.db.getCon().createStatement().executeUpdate(statement);

} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

UPDATE语句运行良好,但这两行:

rated = rating.getFloat("rated");
vote_count = rating.getInt("vote_count");

遇到了一些问题。谢谢你的回复!

3 个答案:

答案 0 :(得分:4)

在检索列值之前,首先必须将结果集上的指针移动到指向返回的第一条记录,如下所示:

rs.next();

关于ResultSet的更多here

答案 1 :(得分:0)

将这些更改为以下内容。它可能有用:

rated = rs.getFloat(0);
vote_count = rs.getInt(1);

答案 2 :(得分:0)

正如johnbk所说,你需要rs.next()来推进光标。

另外,将rating.getFloat更改为rs.getFloat,因为它是错误的变量。