Ich kompilierte dies, aber dieser Code tritt java.sql.SQLException und java.text.ParseException bei resultSet.getDate() -Methode.SQL-Abfrage für SQLite/java.text.ParseException: Nicht übertragbares Datum
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class Main {
public static void main(String[] args) throws SQLException {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection
("jdbc:sqlite:C:/sqlite-tools/test.db");
Statement statement = connection.createStatement();
String sql = "CREATE TABLE t1 (" +
"no INTEGER PRIMARY KEY, " +
"date DATE, " +
"content TEXT)";
statement.executeUpdate(sql);
sql = "INSERT INTO t1 (date, content)" +
"VALUES(DATETIME('NOW', 'LOCALTIME'), 'test');";
statement.executeUpdate(sql);
ResultSet resultSet = statement.executeQuery("SELECT * FROM t1;");
while(resultSet.next()) {
// here occurs exception ↓ :(
Date date = resultSet.getDate("date");
// here occurs exception ↑ :(
String text = resultSet.getString("content");
System.out.println(date + " " + text);
}
statement.close();
connection.close();
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Ausnahme Erklärung ist dies.
Exception in thread "main" java.sql.SQLException: Error parsing time stamp
at org.sqlite.jdbc3.JDBC3ResultSet.getDate(JDBC3ResultSet.java:327)
at org.sqlite.jdbc3.JDBC3ResultSet.getDate(JDBC3ResultSet.java:346)
at com.planb.main.Main.main(Main.java:35)
Caused by: java.text.ParseException: Unparseable date: "2016-12-20 17:08:07" does not match (\p{Nd}++)\Q-\E(\p{Nd}++)\Q-\E(\p{Nd}++)\Q \E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q.\E(\p{Nd}++)
at org.sqlite.date.FastDateParser.parse(FastDateParser.java:299)
at org.sqlite.date.FastDateFormat.parse(FastDateFormat.java:490)
at org.sqlite.jdbc3.JDBC3ResultSet.getDate(JDBC3ResultSet.java:324)
... 2 more
Ich kann keine Lösungen für zwei Stunden finden. Hilf mir bitte. :(
Sie einen vollständigen Zeitstempel mit der Zeit bekommen und so weiter, aber Sie möchten einen Termin mit tt/mm/jjjj – XtremeBaumer
@ 조민규, das ist nicht konstruktiv. Ich war der erste, der die richtige Antwort gab, aber ich wurde abgelehnt. Der Typ, der seine Antwort auf meine stützte, wurde aufgewertet. – Nurjan