Исключение сервера MySQL при вставке строки из приложения Android - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь вставить запись в таблицу 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

Я думаю, что этоверно, но по какой-то причине сервер его не принимает.

1 Ответ

0 голосов
/ 26 марта 2019

Решено, мне нужно было поместить значение datetime в кавычки:

String q = "INSERT INTO sesiones (id,numerosesion,fechasesion) VALUES ("+5+","+5+","+"'"+fechahora+"'"+")";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...