我一直在想如何得到這個權利,但沒有運氣幾個SQL語句。我試過between
,>= and =<
。基本上,我使用的SQL語句正在工作,但只在一定程度上。我的代碼是這樣工作的:用戶將選擇一個日期範圍(從日期到日期),程序將檢索並顯示它在這些範圍內的數據。就像我說的那樣,它可以工作,但它也顯示了其他月份的日子,我想要展示的只是用戶選擇的特定日子。例如。從2016年7月1日到2016年7月5日。發生的事情是一年中的任何一個月份都會顯示這些日期,這使得這種方法有點無用。SQL Statement - Java
任何幫助或任何解釋爲什麼這是如此,將不勝感激。
下面是我的代碼:
stringFromDate = sdf.format(fromDate.getDate());
stringToDate = sdf.format(toDate.getDate());
String query = "Select * from tblSavings where date between '" + stringFromDate+ "' and '" + stringToDate+"'";
try{
pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();
tblList.setModel(DbUtils.resultSetToTableModel(rs));
[SQL注入警報](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29。 aspx) - 您應該**不**將您的SQL語句連接在一起 - 使用**參數化查詢**來代替以避免SQL注入 –
'stringFromDate'和'stringToDate'的格式很可能不正確,這就是查詢無法正常工作的原因。更新並顯示正在執行的實際原始查詢。另外,正在使用什麼版本的SQL? –
@marc_s我在看你現在給我的鏈接。謝謝。 – joppiealiw