我无法使用java连接到我的数据库

时间:2012-05-24 18:16:44

标签: java database

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 个答案:

答案 0 :(得分:3)

您在评论中添加的异常错误消息告诉您错误:

  

结果错误,未调用ResultSet.next

在访问结果集的第一行之前,您忘记调用ResultSet.next():

if (rset.next()) {
    System.out.println(rset.getString(1));
}

答案 1 :(得分:0)

因为您使用的是Netbeans IDE,所以可以尝试使用他们的built in tool进行连接。这应该有助于你获得jdbc_url权利(这几乎肯定是问题)。此外,不要忘记下载并在您的类路径中包含ojdbc6.jar(如果您不包括它,肯定会出现问题)。

答案 2 :(得分:0)

e变量代表异常。尝试打印e.getMessage()或使用e.printStackTrace()打印堆栈跟踪以更好地理解问题。

答案 3 :(得分:0)

 ResultSet rset = stmt.executeQuery();
 while(rset.next()){
     //Code that works with results
 }