Как я получаю Двойное из набора результатов вместо дважды?

При работе с набором результатов JDBC я хочу стать Двойным вместо дважды, так как этот столбец nullable. Rs.getDouble возвращается 0.0, когда столбец является пустым.

22
задан benstpierre 28 January 2010 в 21:41
поделиться

4 ответа

Вы можете проверить wasNull on your ResultSet, чтобы узнать, было ли значение null.

Обратите внимание, что сначала необходимо вызвать один из методов-геттеров на столбце, чтобы попытаться прочитать его значение, а затем вызвать метод wasNull, чтобы узнать, было ли прочитанное значение SQL NULL.

Если после этого вам действительно понадобится Double , вы можете создать его из double return.

26
ответ дан 29 November 2019 в 04:17
поделиться

альтернатива вышеупомянутому ResultSet#wasNull () должен проверить ResultSet#getObject () на пустой указатель так, чтобы вы могли приятно поместить его в одну линию в сочетании с троичным оператором:

Double d = resultSet.getObject("column") != null ? resultSet.getDouble("column") : null;

вместо

Double d = resultSet.getDouble("column");
if (resultSet.wasNull()) {
    d = null;
}
14
ответ дан 29 November 2019 в 04:17
поделиться

Если быть точным, вопрос: «У меня есть команда разработчиков, и я хочу, чтобы эти конкретные разработчики были в восторге от разработки программного обеспечения» или просто «Я хочу команду энтузиастов разработчиков программного обеспечения»? В последнем случае, просто не нанимайте людей, которые не в восторге.

В первом случае вы в значительной степени облажались. Трудно изменить чью-то личность так сильно, что они начинают заботиться о том, что они на самом деле не интересовали раньше. Конечно, это можно сделать, но давайте посмотрим правде в глаза. Сколько здесь не смогли убедить свою лучшую половину в том, что программирование интересно? В таком случае, сколько людей не смогли принять энтузиазм своей подруги по поводу покупок или ботинка?)

Убедить людей поделиться вашим интересом и энтузиазмом по поводу чего-то - это тяжелый труд.

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

-121--126606-

Можно проверить wasNull в результирующем наборе, чтобы узнать, было ли значение null .

Обратите внимание, что сначала необходимо вызвать один из методов получения в столбце, чтобы попытаться прочитать его значение, а затем вызвать метод wasNull, чтобы узнать, было ли прочитанное значение SQL NULL.

Если после этого действительно требуется Double , его можно создать из возвращенного double .

-121--1605520-

Используйте ResultSet.wasNull - > http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html#wasNull%28%29

В основном он работает для всех типов примитивов, сначала используйте getDouble , getInt и т.д., а затем только если результат 0 используется wasNull .

6
ответ дан 29 November 2019 в 04:17
поделиться

Вы можете просто сделать:

Double d = (Double) resultSet.getObject("column");

тогда вам не придется беспокоиться о том, что он был null.

3
ответ дан 29 November 2019 в 04:17
поделиться
Другие вопросы по тегам:

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