我无法使用java连接到我的数据库
Connection conn = null;
Statement stmt=null;
ResultSet rset=null;
String jdbc_url="jdbc:oracle:thin:hr/[email protected]: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");
}
}
我在结果窗口中看到两个错误,是什么问题?小时密码是否正确,我的主机名是否正确,是不是您在Windows XP中右键单击“我的电脑”后从“计算机名称”中获得的名称?我无法使用java连接到我的数据库
编辑:使用e.getMessage()后,我得到了这个..
result error, ResultSet.next was not called
异常的错误消息,你已经投入的意见,告诉你什么是错的:
结果错误,ResultSet.next不叫
你忘了在访问结果集的第一行前调用ResultSet.next():
if (rset.next()) {
System.out.println(rset.getString(1));
}
谢谢,这解决了它
因为你使用NetBeans IDE中,你可以尝试用自己的built in tool连接。这应该有助于你获得jdbc_url
的权利(这几乎肯定是问题)。另外,不要忘记下载并包含在你的课程路径中ojdbc6.jar
(如果你不包含它,肯定会成为问题)。
使用e.getMessage()后,我得到了这个.. 结果错误,没有调用ResultSet.next –
哪条线是错误抛出...这使得它听起来像你连接成功... – kentcdodds
e变量表示异常。尝试打印e.getMessage()或使用e.printStackTrace()打印堆栈跟踪以更好地理解问题。
使用后e.getMessage(),我得到这个.. 结果错误,没有调用ResultSet.next –
ResultSet rset = stmt.executeQuery();
while(rset.next()){
//Code that works with results
}
你有没有trie用localhost代替主机名? – lfergon
@localhost:1521:XE? 它没有工作 –
在问SO之前总是看看异常。使用printStackTrace()int catch子句。 –