簡體   English   中英

我如何在Java中的SQL數據庫中使用日期來改善搜索

[英]how can i improve the search using date in sql database in java

我使用Java語言和MS SQL Server作為數據庫制作了一個軟件。 面臨的問題是,當我使用兩個日期搜索日期范圍時,它給出的是我未請求的項目。

例如,如果我需要10月1日至7月7日的物品,則其中包括11日,12日,13日,14日,15日,16日等的物品。

日期格式使用MMM d,yyyy

我使用了以下代碼

String val1 = ((JTextField)jdate1.getDateEditor().getUiComponent()).getText();
String val2 = ((JTextField)jdate2.getDateEditor().getUiComponent()).getText();

String sql = " select * from Report_details where Date between '"+val1+"' and '"+val2+"' ";

// conn is some Connection                   
PreparedStatement myStmt = conn.prepareStatement(sql);
ResultSet rs = myStmt.executeQuery();

if(rs.next()){
    // do stuff
}

不信任用戶輸入。

String sql = "select * from Report_details where Date between ? and ?";    
....
Date dt1 = new SimpleDateFormat("MMM d,yyyy").parse(val1);
// better yet, have your date picker return a Date object
....
myStmt.setDate(1, dt1);
....

應該是方法(或setTime或setTimestamp,取決於您的表定義)

注意:請勿復制粘貼此內容,僅是使您朝正確方向前進的提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM