[英]SQL query retrieving data from date period of MySQL db table where one of two dates has fixed month
[英]Whats the sql query for retrieving data from database between two dates, if the date values are stored on a variable?
我一直在使用MS Access數據庫,並且使用此代碼從運行良好的數據庫中獲取記錄。 但是現在,當我將數據庫更改為mysql時,這段代碼並未從數據庫中獲取記錄。 數據庫連接正在工作。 在文本框中輸入的日期存儲到變量中,我想使用該變量從數據庫中獲取記錄。 我在這里先向您的幫助表示感謝。
java.util.Date StartDate=(java.util.Date)textField1.getValue();
java.util.Date EndDate=(java.util.Date)textField2.getValue();
java.sql.Date startDate = new java.sql.Date(StartDate.getTime());
java.sql.Date endDate = new java.sql.Date(EndDate.getTime());
PreparedStatement ps = conn.prepareStatement("select * from table_nm where 'Date1 BETWEEN #startDate# AND #endDate#' ");
ResultSet rs = ps.executeQuery();
while(i8rs.next())
{
Date i8Date = rs.getDate("Date1");
String i8ItemName = rs.getString("Item_Name");
int i8Quantity = rs.getInt("Quantity");
Double i8Rate = rs.getDouble("Rate");
Double i8total = rs.getDouble("Total");
Object[] row = new Object[5];
row[0] = i8Date;
row[1] = i8ItemName;
row[2] = i8Quantity;
row[3] = i8Rate;
row[4] = i8total;
tableModel.addRow(row);
}
假設Date1
是表中的列名。
變更 :
PreparedStatement ps =
conn.prepareStatement("select * from table_nm
where 'Date1 BETWEEN #startDate# AND #endDate#' ");
至 :
PreparedStatement ps =
conn.prepareStatement("select * from table_nm
where Date1 BETWEEN ? AND ? ");
ps.setDate( 1, startDate );
ps.setDate( 2, endDate );
請參閱 : Java:使用准備好的語句
只是用這個
PreparedStatement ps = conn.prepareStatement("select * from table_nm
where Date1 BETWEEN ? AND ? ");
ps.setDate( 1, startDate );
ps.setDate( 2, endDate );
ResultSet rs = ps.executeQuery();
while(rs.next())
{
// your table values
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.