0
Connection conn = null;
Statement stmt=null;
ResultSet rset=null;
String jdbc_url="jdbc:oracle:thin:hr/hr@bassam-desktop:1521:XE";
String query="";
try
{
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    conn=DriverManager.getConnection(jdbc_url);
    stmt=(Statement) conn.createStatement();
    query="select first_name" +"from employees"+"where employeed_id=100";
    rset=stmt.executeQuery(query);
    System.out.println(rset.getString(1));


}
catch(SQLException | NumberFormatException e)
        {
            System.out.println("result error");
        }
finally{
    try{
        rset.close();
        stmt.close();
        conn.close();

    }
    catch(Exception e)
    {
        System.out.println("Error in closing");
    }
}

結果ウィンドウに両方のエラーが表示されますが、何が問題ですか?hrパスワードは正しいです、私のホスト名は正しいです、それはあなたがウィンドウズXPの「私のコンピュータ」を右クリックした後にあなたが「コンピュータ名」から得るものではありませんか?

編集:e.getMessage()を使用した後、私はこれを手に入れました。

result error, ResultSet.next was not called

4

4 に答える 4

3

コメントに入力した例外のエラーメッセージは、何が問題なのかを示しています。

結果エラー、ResultSet.nextが呼び出されませんでした

結果セットの最初の行にアクセスする前に、ResultSet.next()を呼び出すのを忘れました。

if (rset.next()) {
    System.out.println(rset.getString(1));
}
于 2012-05-24T18:33:40.663 に答える
0
 ResultSet rset = stmt.executeQuery();
 while(rset.next()){
     //Code that works with results
 }
于 2012-05-24T18:33:00.643 に答える
0

Netbeans IDEを使用しているため、組み込みツールで接続してみることができます。それはあなたが正しいことをするのを助けるはずですjdbc_url(これはほぼ間違いなく問題です)。また、ダウンロードしてクラスパスに含めることを忘れないでくださいojdbc6.jar(これを含めない場合は間違いなく問題になります)。

于 2012-05-24T18:24:26.403 に答える
0

e変数は例外を表します。問題をよりよく理解するために、e.getMessage()を印刷するか、e.printStackTrace()を使用してスタックトレースを印刷してみてください。

于 2012-05-24T18:24:37.800 に答える