1

Java アプリケーションのクエリに問題があります。名前に基づいてユーザーのスコアを取得するのは簡単なクエリですが、常にエラーが発生し、問題の原因を特定できません。

            String driver = "com.mysql.jdbc.Driver";    
        Class.forName(driver).newInstance();

        con = DriverManager.getConnection(url, USERNAME, PASSWORD);   
        st  = con.createStatement();


        PreparedStatement preStatement = con.prepareStatement("select score from playerscore where name=?");
        preStatement.setString(1, "tomcat");

        ResultSet resultSet = preStatement.executeQuery();
        score               = resultSet.getInt(1);

誰かが目を向けて、私を正しい方向に向けることができますか?

EDIT:スタックトレースの画像

http://imageshack.us/photo/my-images/854/stackr.jpg/

4

1 に答える 1

6

最初は、は最初の行のResultSetに配置されています。したがって、その値を取得する前に、最初の行に移動するために最初に呼び出す必要があります。resultSet.next()

boolean返されたをチェックすることで、最初の行が実際に存在するかどうかを確認できますresultSet.next()

于 2012-04-14T14:39:00.253 に答える