2013-11-26 119 views
-1

我試圖執行以下方法Java的SQL Update語句

String sqlQuery = "UPDATE ACCOUNTS" 
        + " SET LAST_LOGIN_DATE=LOGIN_DATE," 
        + " LOGIN_DATE=SYSTIMESTAMP" 
        + " WHERE CUSTOMER_ID=? AND USER_ID=?"; 

     logger.debug("[{}] sqlQuery={}", methodName, sqlQuery); 

     String connectionName = properties.getProperty(JNDI_NAME); 
     Connection connection = null; 
     PreparedStatement pstmt = null; 

      connection = getJNDIConnection(connectionName); 
      pstmt = connection.prepareStatement(sqlQuery); 
      // set the input parameters 
      pstmt.setString(1, customerId); 
      pstmt.setString(2, userId); 

         if (pstmt.executeUpdate() > 0) 

當我到最後一行它給了我假,不執行查詢。 請幫助

+0

也許有沒有這樣的客戶ID和用戶ID – mvieghofer

+0

你確定該記錄存在嗎? –

+0

我試過SQL控制檯中的查詢 - 它工作正常,我得到需要的用戶。 –

回答

0

我沒那麼熟悉Oracle,但你肯定JNDI連接連接到同一個表空間/數據庫/模式爲您的SQL安慰? This answer讓我覺得也許你不知道怎麼連接到你認爲的你。

+0

確實這是一個連接問題。非常感謝,每個人 –

-1

嘗試附加tableupdateupdate table ACCOUNTS

-1

documentation

返回::(1)該行數SQL數據操作語言(DML)語句(2) 0表示不返回任何內容的SQL語句。

update語句沒有返回值,所以使用executeUpdate將返回0