我想在MySQL中获取这两个日期的数据,并只显示范围,但是即使它是空的,也不会显示任何内容。此外,即使我将简单日期格式更改为MM/dd/yyyy,即使我在数据库中有2行数据,表也只显示一行和日期
这是我的代码
private void table_stocks(String date_from, String date_to) {
try {
int table;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection(url, username, password);
if(date_from.equals("") || date_to.equals("")){
pst = con.prepareStatement("SELECT `sales_number`, `date`, `amount_due` FROM `dnk_database`.`sales`;");
}
else{
pst = con.prepareStatement("SELECT `sales_number`, `date`, `amount_due`, SUM(`amount_due`) AS `total_sales` FROM `dnk_database`.`sales` WHERE `date` BETWEEN ? AND ?;");
pst.setString(1, date_from);
pst.setString(2, date_to);
}
ResultSet rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
table = rsd.getColumnCount();
DefaultTableModel load = (DefaultTableModel)jTable_salesValue.getModel();
load.setRowCount(0);
while(rs.next()) {
Vector v2 = new Vector();
for(int i = 1; i <= table; i++){
v2.add(rs.getString("sales_number"));
v2.add(rs.getString("date"));
v2.add(rs.getString("amount_due"));
}
load.addRow(v2);
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(Add_Items.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (SQLException ex) {
Logger.getLogger(Add_Items.class.getName()).log(Level.SEVERE, null, ex);
}
}
另外,想要显示从我的SQL到文本字段的到期金额列的总和,我不知道该将此代码放在哪里
if (rs.next()==true) {
String sum_total = rs.getString("total_sales");
jTextField_totalSales.setText(sum_total);
}
可以在while循环之前将总和累积到变量,我假设您使用的是整数数据类型,然后在循环内对值求和。完成while循环后,在文本字段中显示
int sumTotal = 0;
while(rs.next()) {
Vector v2 = new Vector();
for(int i = 1; i <= table; i++){
v2.add(rs.getString("sales_number"));
v2.add(rs.getString("date"));
v2.add(rs.getString("amount_due"));
sumTotal += rs.getString("amount_due") == null? 0 : Integer.parseInt(rs.getString("amount_due"));
}
load.addRow(v2);
jTextField_totalSales.setText(sumTotal);
}
问题内容: 我正在使用日期输入字段,并使用Angular在我的ui中格式化所选日期。但是格式化日期总是比所选日期少1天。为什么会这样,我该如何解决? HTML: JS: 我有一个小提琴来演示这个问题:http : //jsfiddle.net/wittersworld/uY3s9/ 编辑: 我用一个有效的解决方案更新了小提琴:http : //jsfiddle.net/wittersworld/u
我的数据确实显示在console.log中,但实际上没有显示在表中,我在这里做错了什么?
问题内容: 我正在尝试搜索日期范围内的日期范围内的所有项目,但失败(不返回任何结果) 查询: 映射: 结果是: 通过一个带数字值的整数字段(“ cards”)的范围过滤的同一查询工作正常。将日期更改为非常早的开始(1900-01-01 00:00:00)也不会显示任何结果。 我究竟做错了什么? 顺便说一句,我知道我在映射中启用了_timestamp,但这不是我要过滤的字段。 问题答案: 似乎对我来
问题内容: 我正在使用Elasticsearch 6.6,尝试根据在日期范围内传递给查询(Bool)的多个值(email_address)提取多个结果/记录。例如:我想根据他们的email_address(annie@test.com,charles@test.com,heman@test.com)以及时期(即project_date(2019-01-01))提取有关少数雇员的信息。 我确实使用了
问题内容: 我正在尝试通过键入日期范围来过滤包含时间戳的列表 例如: JSFIDDLE html javascript 我希望能够用值填充“发件人”字段:27-05-2010 并且“ To”字段的值为:29-07-2015 并仅获取该范围内的记录。 (示例中的第一条记录)。 谢谢分配阿维 问题答案: 您可以创建一个自定义过滤器来实现此目的。 JSFIDDLE html javascript 此外,
我正在使用弹性搜索。我以前从未使用过的网络NEST客户端。我想做的是在得分前按日期范围过滤结果。 我使用对象初始值设定项语法,因为它最适合我。 我已经完成了我想要的: 这给了我一个JSON请求,就像我期望的那样: 但留档过滤查询说"弃用在2.0.0-beta1.改为使用bool查询,查询的必须子句和筛选器子句”。 因为这是我发现的唯一包含过滤器的方法,有没有更好的方法来使用嵌套对象初始值设定项语法