使用JDBC在Java中创建报告并尝试在sql date和Java util date之间进行转换 [英] Creating report in java with JDBC and trying to convert between sql date and java util date
本文介绍了使用JDBC在Java中创建报告并尝试在sql date和Java util date之间进行转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用Java编写一些报表,然后在执行SQL查询后将其添加到jTable中.但是,我的表中有一个日期格式,我不知道如何在Java sql日期和Java util日期之间进行转换.我尝试了一些选项,但总是收到此错误:
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "DATE" at line 1, column 28.
这是我的对帐单代码:
public void ordersReport() {
// if (Calendar.getInstance().get(Calendar.DAY_OF_MONTH) == 1) {
String sql = "SELECT * FROM ORDERS ORDER DATE ASC, TIME ASC";
try {
DefaultTableModel model = (DefaultTableModel) ordTbl.getModel();
boolean t = model.isCellEditable(1, 1);
System.out.println(t);
rs = stmt.executeQuery(sql);
while (rs.next()) {
int ordId = rs.getInt("ORDERID");
String name = rs.getString("NAME");
String surname = rs.getString("SURNAME");
String items = rs.getString("ITEMS");
float cost = rs.getFloat("COST");
boolean priority = rs.getBoolean("PRIORITY");
String status = rs.getString("STATUS");
java.sql.Date date = rs.getDate("NAME");
Time time = rs.getTime("TIME");
int empId = rs.getInt("EMPLOYEEID");
model.addRow(new Object[]{ordId, name, surname, items, cost, priority, status, date, time, empId});
}
} catch (SQLException ex) {
Logger.getLogger(OwnerDashboard.class.getName()).log(Level.SEVERE, null, ex);
}
解决方案
好,所以我发现了错误,它是在用于SQL查询的字符串语句中出现的,而我在ORDER和DATE之间缺少了BY字样>
I'm making some reports in java which then get added to a jTable after execution of an sql query. However, I have a date format in my table and I can't work out how to convert between the java sql date and java util date. I've tried a few options but I always get this error:
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "DATE" at line 1, column 28.
This is what my statement code looks like:
public void ordersReport() {
// if (Calendar.getInstance().get(Calendar.DAY_OF_MONTH) == 1) {
String sql = "SELECT * FROM ORDERS ORDER DATE ASC, TIME ASC";
try {
DefaultTableModel model = (DefaultTableModel) ordTbl.getModel();
boolean t = model.isCellEditable(1, 1);
System.out.println(t);
rs = stmt.executeQuery(sql);
while (rs.next()) {
int ordId = rs.getInt("ORDERID");
String name = rs.getString("NAME");
String surname = rs.getString("SURNAME");
String items = rs.getString("ITEMS");
float cost = rs.getFloat("COST");
boolean priority = rs.getBoolean("PRIORITY");
String status = rs.getString("STATUS");
java.sql.Date date = rs.getDate("NAME");
Time time = rs.getTime("TIME");
int empId = rs.getInt("EMPLOYEEID");
model.addRow(new Object[]{ordId, name, surname, items, cost, priority, status, date, time, empId});
}
} catch (SQLException ex) {
Logger.getLogger(OwnerDashboard.class.getName()).log(Level.SEVERE, null, ex);
}
解决方案
Okay so I found the error and it was in the string statement that is used for the sql query and I was missing the word BY between ORDER and DATE
这篇关于使用JDBC在Java中创建报告并尝试在sql date和Java util date之间进行转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文