Я пытаюсь вставить запись в таблицу MySQL из приложения для Android, используя JDBC.
Это мой код:
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(ipServidor, usuario, password); //Connection Object
Log.d("MPI DESARROLLO","main syncdata try connect="+conn);
if (conn == null) {
btnConectar.setVisibility(View.VISIBLE);
success = false;
} else {
String q = "INSERT INTO sesiones (id,numerosesion,fechasesion) VALUES ("+5+","+5+","+fechahora+")";
String query =q;
Statement stmt = conn.createStatement();
int res = stmt.executeUpdate(q);
if(res>0){
//success
}else{
//failed
Log.d("insert","insert NO ok");
}
}
} catch (Exception e) {
e.printStackTrace();
Writer writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer));
msg = writer.toString();
Log.d("insert","insert "+msg);
success = false;
}
Я получаю исключение, этолог для него:
insert java.sql.SQLException: Syntax error or access violation message from server: "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 '14:24:10)' at line 1"
Я предполагаю, что исключение связано с переменной fechasesion, это ее значение:
feecha hora 2019-03-26 14:24:10
Я думаю, что этоверно, но по какой-то причине сервер его не принимает.