我是MySql數據庫的新手,目前面臨日期格式問題。我嘗試了一些來自互聯網的解決方案,但沒有成功。因此我在這裏發佈這個問題。mysql日期語法問題
我有一個圖形用戶界面,我提供的日期作爲輸入,這是「mm/dd/yyyy」格式。
這是我的代碼,包含查詢:
public boolean fetchAPReportDomino(Date edDate, APReport apReport){
Statement stmt=null;
ResultSet rs=null;
SimpleDateFormat sd= new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat sd1=new SimpleDateFormat("yyyy-MM-dd");
String tempDate=sd.format(edDate);
if(getConnection()!=null){
try {
stmt= getConnection().createStatement();
String query="SELECT * FROM AP_Report where Edition Date = " + tempDate;
rs = stmt.executeQuery(query);
while (rs.next()) {
apReport.setRoomHumidity(rs.getInt("Room Humidity"));
apReport.setRoomTemperature(rs.getInt("Room Temperature"));
}
rs.close();
stmt.close();
} catch (SQLException ex) {
Logger.getLogger(DataService.class.getName()).log(Level.SEVERE, null, ex);
return false;
}
}
return true;
}
從MySQL工作臺,我試圖改變日期字段爲「DATE」,「時間戳」,「DATETIME」的數據類型。但沒有任何幫助。
以下是林看到的錯誤,當我執行的代碼:下面的表結構
SEVERE: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Date = 02/14/2015' at line 1
發帖截圖:
http://prntscr.com/6qz5my
瞭解預準備語句,並將Date作爲java.sql.Date類型的參數傳遞。不通過連接字符串:http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html –
另外,數據庫上的日期字段不能是「Edition Date」(帶空格),除非它是用反引號創建,所以你必須使用它! –
你能否提供我們的表格結構? – ifm