使用JDBC SQL Server连接进行查询时出错

时间:2019-05-27 07:12:33

标签: java sql-server

我使用以下代码查询数据:

tBPMDataSource = getJndiDataSource("java:/NaNaDS");
tBPMConnection = tBPMDataSource.getConnection();
tBPMStatement=tBPMConnection.createStatement();
if (tBPMDataSource!=null) 
{
    tBPMResultSet = tBPMStatement.executeQuery("select OID from ProcessInstance where serialNumber='"+ProcessSerial+"'");
    while (tBPMResultSet.next()) {
        ProcessOID=tBPMResultSet.getString(0);
        }
}

发生错误,下面是错误日志

   2019-05-27 14:44:07,616 FINE  [com.microsoft.sqlserver.jdbc.SQLServerException] (default task-96) *** SQLException:com.microsoft.sqlserver.jdbc.SQLServerStatement@2b71098e com.microsoft.sqlserver.jdbc.SQLServerException: ̷ӽ 0 ӬԶ׶Χc ̷ӽ 0 ӬԶ׶Χc

有人可以帮助我们找到此异常的错误代码吗?我试图在sql server中执行查询,但工作正常。谢谢。

2 个答案:

答案 0 :(得分:3)

列索引的JDBC API将是base-1,而不是您期望的base-0。 出于一致性原因,我希望所有与索引相关的方法都以0为底。不得不记住哪种方法使用0和哪种使用1是一种烦人的事情。

答案 1 :(得分:0)

Java列索引中的

从1开始。尝试更改此行

tBPMResultSet.getString(1);