У меня возникла проблема с хранением значений в базе данных sql, которую я создал в Netbeans.Хранение метки времени в базе данных SQL
String bladeSerial;
String bladeType;
LocalTime startTime1;
private void startButton2ActionPerformed(java.awt.event.ActionEvent evt) {
Connection conn = null;
Statement st = null;
try {
conn = DriverManager.getConnection ("jdbc:derby://localhost:1527/db01", "Administrator", "admin"); //run procedure getConnection to connect to the database - see below
st = conn.createStatement(); //set up a statement st to enable you to send SQL statements to the database.
} catch (SQLException ex) {
Logger.getLogger(FormTwo1.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println ("Successful Connection");
String query = "insert into TB01(SERIAL,BLADETYPE,STARTT1) values ('+bladeSerial+', '+itemText+', '+(String.valueOf(startTime1))+')";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setString(1, bladeSerial);
pstmt.setString(2, bladeType);
pstmt.setString(3, String.valueOf(startTime1));
pstmt.executeUpdate();
} catch (SQLException ex) {
// Exception handling
Logger.getLogger(FormTwo1.class.getName()).log(Level.SEVERE, null, ex);
}
Переменная startTime1
сохраняется в формате HH:mm:ss.SSS
. При выполнении кода, я получаю ошибку:
java.sql.SQLSyntaxErrorException: Syntax error: Encountered ":" at line 1, column 65.
Ошибка относится к толстой кишке в то время, но я не знаю, как обойти эту проблему.
SERIAL
является VARCHAR(5)
, BLADETYPE
является VARCHAR(80)
, STARTT1
является VARCHAR(12)
. Все столбцы находятся в таблице DATA
.
* Никогда * строить вставки строк с конкатенации. – meskobalazs
Похож на то, что маленькие таблички Бобби поймали тебя. см. http://bobby-tables.com/ –
BTW Точная ошибка вызвана не ссылкой на строки с одинарными кавычками ('' '). – meskobalazs