我是一個java和sqlite的總noob。這應該很簡單,但我已經嘗試過,並且無法使其工作。我有一個SQL日期字段,我格式化爲sql日期(MM/dd/yy)。我想根據通過的日期進行刪除。目前,我只是試圖根據傳遞的日期顯示行。基於日期的sql刪除
我的代碼運行的查詢是:
String query = "select * from Peter1Score where DateSort='"+convertSQLDate("09/20/15")+"'";
PreparedStatement pst = connection.prepareStatement(query);
ResultSet rs = pst.executeQuery();
我converSQLDate()是:
public static java.sql.Date convertSQLDate (String sqlDateIn)
{
java.sql.Date returnDate = null;
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yy");
Date parsed;
try
{
parsed = formatter.parse(sqlDateIn);
java.sql.Date sqlDate = new java.sql.Date(parsed.getTime());
returnDate = sqlDate;
}
catch (ParseException e)
{
e.printStackTrace();
}
return returnDate;
}
我傳遞15年9月20日只是爲了測試。我有該日期的記錄,但它沒有被選中。
最簡單方法是使用'PreparedStatement'並通過'的setDate的日期(不是字符串)查詢傳遞(1,指明MyDate)'。如果您的JVM恰好位於與SQLite不同的區域/區域設置上,您可能還需要傳入「日曆」以明確定義時區。 –
我以爲那是我正在做的。 –
你不會將任何變量綁定到語句中(使用'setXY()'方法)。你只是將一個字符串值(Date.toString()的結果)連接到查詢字面值中。 –