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密码是正确的,我的主机名是正确的,是不是你在windows 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 回答