java ojdbc 6 getInt()的列号返回错误的值
我从ojdbc getInt()中得到了一个非常有趣的错误,其列号为java ojdbc 6 getInt()的列号返回错误的值,java,oracle11g,ojdbc,Java,Oracle11g,Ojdbc,我从ojdbc getInt()中得到了一个非常有趣的错误,其列号为 ps = conn.prepareStatement("select count(*) from tableA"); rs = ps.executeQuery(); int x; if (rs.next()) x = rs.getInt(1); ps = conn.prepareStatement("select count(*) as someVariable from tableA"); rs = ps.exec
ps = conn.prepareStatement("select count(*) from tableA");
rs = ps.executeQuery();
int x;
if (rs.next())
x = rs.getInt(1);
ps = conn.prepareStatement("select count(*) as someVariable from tableA");
rs = ps.executeQuery();
int y;
if (rs.next())
y = rs.getInt(1);
x和y的值是不同的。y是我期望的正确数字
我将Java7与ojdbc6.jar(11.2.0.3.0)一起使用
谢谢
ps = conn.prepareStatement("select count(*) as someVariable from tableA");
ps = conn.prepareStatement("select count(*) as result from tableA");
rs = ps.executeQuery();
int x;
if (rs.next())
x = rs.getInt("result");
ps = conn.prepareStatement("select count(*) as someVariable from tableA");
rs = ps.executeQuery();
int y;
if (rs.next())
y = rs.getInt("someVariable");
难道你没有忘记rs.close()、conn.close()、statement.close()吗?你最好利用资源去尝试,而不仅仅是去尝试
try(Connection con = DriverManager.getConnection("DBpath","usr","pswd")) {
//doSomething
}
在这种情况下,您不需要关闭它们,它们会自动关闭。
注意:只能对可关闭的对象执行此操作
难道你没有忘记rs.close()、conn.close()、statement.close()吗?你最好利用资源去尝试,而不仅仅是去尝试
try(Connection con = DriverManager.getConnection("DBpath","usr","pswd")) {
//doSomething
}
在这种情况下,您不需要关闭它们,它们会自动关闭。
注意:您只能对可关闭的对象执行此操作。这似乎不太可能。它是同一个conn(即同一个会话;或者至少是同一个DB和凭据,其间没有数据更改)?你是在初始化x和y吗,如果是的话,是为了什么,这和你最终得到的x值有什么相似之处吗?在您检查x之前,可能会有修改x的代码吗?可能有用,而不是部分代码段。x和y的初始值为0,并且都连接到同一凭据。两者都是分开运行的,这似乎不太可能。它是同一个conn(即同一个会话;或者至少是同一个DB和凭据,其间没有数据更改)?你是在初始化x和y吗,如果是的话,是为了什么,这和你最终得到的x值有什么相似之处吗?在您检查x之前,可能会有修改x的代码吗?可能有用,而不是部分代码段。x和y的初始值为0,并且都连接到同一凭据。两者都是分开运行的。