我在我的SQLServer中有下面的查詢。如何在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運行查詢服務器,它工作正常。請讓我知道我在哪裏錯了,我該如何解決它。
感謝
你有沒有提交你的連接?如果自動提交不是,那麼這可能是一個原因。 –
你是如何處理交易的?你是否明確地進行提交,或者你是否啓用了自動提交? – Jesper
註銷的類型是什麼? –