Как отправить данные в базу данных SQL из приложения Android?

У меня много проблем с отправкой базовых данных в базу данных sql из приложения для Android, которое я разработал. У меня есть базовый класс подключения, а затем то, что я считаю очень простым запросом, который должен выполняться при нажатии кнопки, например ....

public void onUploadTest(View v) {
    try{
        Connection con = connectionClass.Conn();
        String query = "INSERT INTO photo (photoID, userID, date, title, description, location, selected) VALUES ("
                + 100 + ", "
                + 2 + ", "
                + "4/17/2018" + ", "
                + "awesome" + ", "
                + "yeppp" + ", "
                + "google.com" + ", "
                + 1
                +  ");";
        Statement stmt = con.createStatement();
        stmt.execute(query);
        con.close();
    } catch(SQLException e) {
        Log.d("sql", e.toString());
    } catch(IllegalStateException e) {
        Log.d("sql", e.toString());
    }
}

но независимо от того, что я пытаюсь, я продолжаю получать IllegalStateException, которое указывает на `строку с 'con.createStatement ();' Мой класс подключения

public class ConnectionClass {

    String ip = "206.212.36.194";
    String db = "DroneInspDB";
    String un = "aksenov";
    String password = "Datapass123";

    //String ConnURL = null;
    @SuppressLint("NewApi")
    public Connection Conn() {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        Connection conn = null;
        //String ConnURL =  null;

        try {
            Class.forName("net.sourceforge.jtds.jdbs.Driver");
            String ConnURL = "jdbc:jtds:sqlserver://" + db + ";user = " + un + ";password = " + password + ";";
            conn = DriverManager.getConnection(ConnURL);
        } catch(SQLException se) {
            Log.d("sql ", se.toString());
        } catch(ClassNotFoundException e) {
            Log.d("sql ", e.toString());
        } catch(NullPointerException e) {
            Log.d("sql", e.toString());
        } catch(Exception e){
            Log.d("sql ", e.toString());
        }

        return conn;
    }
}

Пожалуйста, прочтите: JDBC против веб-службы для Android

Morrison Chang 17.04.2018 20:42

База данных находится на телефоне или на удаленном сервере? Если он на телефоне, попробуйте новую базу данных ROOM, которую Google рекомендует для приложений Android, developer.android.com/topic/libraries/architecture/room.html

Michael Osofsky 17.04.2018 20:44

пожалуйста, уточните, чего вы на самом деле пытаетесь достичь. Вы пытаетесь отправить данные на сервер или хотите записать данные в локальную базу данных на телефоне?

Peppermint Paddy 17.04.2018 22:11

Извините, пытаюсь отправить в удаленную базу данных с помощью JDBC. Базы нет в телефоне. @PeppermintPaddy

flyingtornado65 18.04.2018 00:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
717
0

Другие вопросы по теме