首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果日期值存储在变量上,用于从两个日期之间的数据库检索数据的sql查询是什么?

如果日期值存储在变量上,用于从两个日期之间的数据库检索数据的sql查询是什么?
EN

Stack Overflow用户
提问于 2014-03-19 04:33:16
回答 2查看 1.6K关注 0票数 1

我一直在使用MS数据库,我使用这段代码从它工作得很好的数据库中获取记录。但是现在,当我将数据库更改为mysql时,这段代码并不是从数据库中获取记录。数据库连接正常。textbox中输入的日期存储到一个变量中,我希望使用该变量从数据库中获取记录。谢谢你提前帮忙。

代码语言:javascript
复制
        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);         

        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-19 04:38:41

假设Date1是表中的列名。

Change

代码语言:javascript
复制
PreparedStatement ps = 
  conn.prepareStatement("select * from table_nm 
                         where 'Date1 BETWEEN #startDate# AND #endDate#' ");

代码语言:javascript
复制
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

票数 5
EN

Stack Overflow用户

发布于 2014-03-19 04:48:26

就用这个

代码语言:javascript
复制
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
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22496268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档