我一直在使用MS数据库,我使用这段代码从它工作得很好的数据库中获取记录。但是现在,当我将数据库更改为mysql时,这段代码并不是从数据库中获取记录。数据库连接正常。textbox中输入的日期存储到一个变量中,我希望使用该变量从数据库中获取记录。谢谢你提前帮忙。
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);
}发布于 2014-03-19 04:38:41
假设Date1是表中的列名。
Change:
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 );指:http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
发布于 2014-03-19 04:48:26
就用这个
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 valueshttps://stackoverflow.com/questions/22496268
复制相似问题