IllegalArgumentException
mit setDate()
in vorbereiteten AnweisungenDie Migration von hartcodierten SQL-Abfragen zu parametrisierten vorbereiteten Anweisungen verbessert die Wartbarkeit und Sicherheit des Codes. Allerdings kann die Verwendung von setDate()
manchmal zu IllegalArgumentException
führen. Dieser Leitfaden zeigt Lösungen mit java.sql.Date
und java.sql.Timestamp
.
Umgang mit Datumsspalten
Verwenden Sie für Datenbankspalten vom Typ DATE
diese Methoden, um den Datumsparameter korrekt festzulegen:
Verwenden einer Zeichenfolge: Geben Sie eine Datumszeichenfolge im Format „JJJJ-MM-TT“ an:
ps.setDate(2, java.sql.Date.valueOf("2013-09-04"));
Verwenden eines java.util.Date: Konvertieren eines java.util.Date
-Objekts:
java.util.Date endDate = ...; // Your java.util.Date object ps.setDate(2, new java.sql.Date(endDate.getTime()));
Aktuelles Datum einstellen: Aktuelles Datum einfügen:
ps.setDate(2, new java.sql.Date(System.currentTimeMillis()));
Verarbeitung von TIMESTAMP- oder DATETIME-Spalten
Wenn Ihre Datenbankspalte vom Typ TIMESTAMP
oder DATETIME
ist, verwenden Sie setTimestamp()
mit diesen Optionen:
Verwenden einer Zeichenfolge: Geben Sie eine Datums- und Uhrzeitzeichenfolge im Format „JJJJ-MM-TT HH:mm:ss[.f...]“ an:
ps.setTimestamp(2, java.sql.Timestamp.valueOf("2013-09-04 13:30:00"));
Verwenden eines java.util.Date: Konvertieren eines java.util.Date
-Objekts:
java.util.Date endDate = ...; // Your java.util.Date object ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));
Aktuellen Zeitstempel festlegen: Aktuellen Zeitstempel einfügen:
ps.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
Durch Befolgen dieser Richtlinien können Sie Datums- und Zeitstempelparameter in Ihren vorbereiteten Kontoauszügen zuverlässig festlegen und so das IllegalArgumentException
vermeiden. Denken Sie daran, die geeignete Methode (setDate()
oder setTimestamp()
) basierend auf dem Datentyp Ihrer Datenbankspalte auszuwählen.
Das obige ist der detaillierte Inhalt vonWie verwende ich setDate() in PreparedStatements richtig, um IllegalArgumentException zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!