2016-08-11 6 views
0

아래 SQL Server에 쿼리가 있습니다. JDBC에서 쿼리를 실행하는 방법

update time_tracker 
set logout = '08-11-2016 17:28:02', totaltime = DATEDIFF(minute,login, logout) 
from Time_Tracker 
where userid = 0138039 AND CONVERT(Date, LOGIN) = CONVERT(Date, GETDATE()) 

그리고 내 JDBC에서 나는 아래의 쿼리

Date endDate = new Date(); 
    DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss"); 
    String logoutTime = dateFormat.format(endDate); 
    System.out.println(logoutTime); 

    String sql = 
     "update time_tracker " + 
     "set logout = ?, totaltime = DATEDIFF(minute,login, logout) " + 
     "from Time_Tracker " + 
     "where userid= ? AND CONVERT(Date, LOGIN) = CONVERT(Date, GETDATE())"; 

    preparedStatement = conn.prepareStatement(sql); 
    preparedStatement.setString(1, logoutTime); 
    preparedStatement.setString(2, userId); 
    preparedStatement.execute(); 
    preparedStatement.close(); 

나는이 프로그램을 실행 데려 갈거야

, 거기에 내 백엔드에서 수행에는 업데이트는하지 않습니다,하지만 내 SQL에서 직접 쿼리를 실행할 때 서버, 잘 작동합니다. 어디서 잘못 가고 어떻게 해결할 수 있는지 알려주세요.

감사

나는 U는 다음과 변경할 수 있다고 생각
+1

연결에 커밋 했습니까? 자동 커밋이 켜져 있지 않으면 이는 이유 일 수 있습니다. –

+1

거래를 어떻게 처리합니까? 명시 적으로 커밋을하고 있습니까? 아니면 자동 커밋을 사용하도록 설정 했습니까? – Jesper

+0

로그 아웃의 유형은 무엇입니까? –

답변

1

: PreparedStatement.executeUpdate()에을();

+0

고마워 친구,이 일했습니다 :) – user3872094

+0

당신은 환영합니다 친구입니다 – PONRAJ

관련 문제