Меня захватывает недействительная стоимость, когда я реализую select в базу данных

Хороший проблема состоит: меня не захватывает стоимость, которая существует в базе данных особенно в поле codsubmenu, только он захватывает мне недействительную стоимость. Я оставляю им код.

public class Menu implements Serializable{

    private int idMenu;
    private Menu codsubmenu;

    public int getIdMenu() {
        return idMenu;
    }

    public void setIdMenu(int idMenu) {
        this.idMenu = idMenu;
    }

    public Menu getCodsubmenu() {
        return codsubmenu;
    }

    public void setCodsubmenu(Menu codsubmenu) {
        this.codsubmenu = codsubmenu;
    }      

    while(rs.next()){
        Menu menu=new Menu(); 
        menu.setIdMenu(rs.getInt("idMenu")); //en esta línea si me captura el id del menu

        // me captura null 
        menu.setCodsubmenu(menu.getCodsubmenu());
    }  
}

Однако, изменив последнюю линию из-за:

menu.setCodsubmenu(rs.getInt("codsubmenu"));

Меня подчеркивает ошибка этой формы

incompatible types: int cannot be converted to Menu**
3
задан 19.01.2016, 15:54
2 ответа

Хотя я это думаю, что нет данных, может быть, я помог ему:

Вы говорите, что Вы захватываете его null, и это, потому что Вы делаете menu.getCodsubmenu(),

    // me captura null 
    menu.setCodsubmenu(menu.getCodsubmenu()); 

и этот возвращает null, потому что

public Menu getCodsubmenu() {
    return codsubmenu;
}

public void setCodsubmenu(Menu codsubmenu) {
    this.codsubmenu = codsubmenu;
}

распределен, и возвращая тот же объект, который не инициализировался ни распределенный другому, который estubiera инициализировавший заблаговременно:

private Menu codsubmenu;

getCodsubmenu() -> devuelve codesubmenu y menu.setCodsubmenu asigna el mismo objeto, al mismo objeto que no esta inicializado, quizas quiera mirar eso.

это сообщение types: int cannot be converted to Menu** поэтому несовместимо

public void setCodsubmenu(Menu codsubmenu) {
    this.codsubmenu = codsubmenu;
}      

этот метод ждет один Menu, но если Ваше имя в этом методе menu.setCodsubmenu(rs.getInt("codsubmenu")); продолжает какую-то логику getInt, возможно, что возвращает Int отсюда ошибку, дело в том, что он не может распределять целое число в setCodsubmenu, так как ждет один Menu, чтобы распределять это codsubmenu, который типа Menu;


1
ответ дан 24.11.2019, 14:59

У тебя есть следующее: Menu codsubmenu. Твой код субменю - объект класса Menu. В настоящее время, ты это seteando следующего способа:

menu.setCodsubmenu(menu.getCodsubmenu());

Но когда ты будешь верить в инстанцию Menu, поле codsubmenu так как у него нет никакой инициализации (по крайней мере из-за того, что ты представляешь в твоем коде) он будет иметь как стандартная настройка null, поэтому эта линия кода у них нет никакого значения.

Сейчас, когда ты пробуешь делать это:

menu.setCodsubmenu(rs.getInt("codsubmenu"));

Ошибка компиляции ясная: ты пробуешь распределять в переменную типа Menu стоимость одного int.

Может быть, твоя проблема имела команду в момент чтения данных. Так как ты не объясняешь хорошо твою проблему фона, я думаю, что сначала ты был бы должен читать все данные, хранить Menu из-за Menu в таком контейнере как список или карта и потом группировать их способа, в котором ты желаешь. Конечно, как личное замечание, может быть, также у тебя была проблема рисунка в твоей модели данных, потому что у меню не был бы должен бы быть id меню сын, а скорее должен бы быть id меню у отца, и единственное меню, которого у него не есть, пойдите отца это корень всех меню.

0
ответ дан 24.11.2019, 14:59

Теги

Похожие вопросы