Вставить данные в базу данных из TableView CheckBox JavaFX

У меня есть tableView в JavaFX (для записи посещаемости студентов), в котором есть столбец checkBox (называемый «посещаемость»), который может быть проверен пользователем. В моей базе данных есть столбец под названием «classesAttended», в котором хранится общее число. занятий, которые посещают студенты.

Мой подход:

База данных Имя таблицы: "student"

База данных Имя столбца: "classesAttended"

TableView Имя столбца: "посещаемость"


    {

    TableView<Student> tables = new TableView<Student>();

    TableColumn<Student, Boolean> attendance = new TableColumn<Student,Boolean>();
    }

    String query="UPDATE student SET classesAttended = classesAttended+1";

    pst = conn.prepareStatement(query);

    for(TableRow tableRow: tables.getRows()){ 

        string input =    tables.get(i).getAttendanceColumn().toString();        

        if(input = "true"){

            pst.execute;

        }

    }

Поэтому я хочу увеличить значение «classesAttended» для студента, чей столбец «посещаемость» проверен. Пожалуйста, подскажите, как мне быть.......

Заранее спасибо


person KRISHNA GUPTA    schedule 13.11.2018    source источник
comment
Ваш код содержит некоторые синтаксические ошибки. Почему вы используете строковую версию Boolean? Вы должны считать, что вам повезло, что Boolean использует литеральные строки для своего метода toString, и поэтому результат сравнения относится к тому же объекту, что и "true". (см. stackoverflow.com/questions /513832/) На это вообще не стоит полагаться, особенно если можно просто использовать if (tables.get(i).getAttendanceColumn())   -  person fabian    schedule 13.11.2018


Ответы (1)


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

person Gnas    schedule 13.11.2018