Получение исключения «Имя столбца xxx недопустимо» при попытке объединить столбцы - PullRequest
1 голос
/ 03 сентября 2010

Я пытаюсь объединить два столбца в запросе SQL, но получаю следующее исключение в методе FindColumn java.sql.ResultSet:

JdbcSqlException: имя столбца FullName недействительно. Колонка: 'FullName'

Вот мой SQL-запрос

SELECT U.FirstName + ' ' + U.LastName AS FullName FROM User as U

Любой

Обратите внимание, что запрос работает нормально, когда я запускаю его непосредственно в студии управления SQL Server. Кроме того, этот запрос является частью большого запроса, поэтому U как псевдоним.

Ответы [ 4 ]

1 голос
/ 03 сентября 2010

Когда вы ставите «AS FullName», полное имя теперь является меткой. JDBC получает данные по «имени столбца» или «имени поля». Вы должны изменить свой код (я не знаю ваш язык программирования) соответственно.

0 голосов
/ 08 сентября 2017
String sql = "SELECT U.FirstName + ' ' + U.LastName AS FullName FROM User U ";

pst = conn.prepareStatement(sql);

rs = pst.executeQuery();

if (rs.next()) {

  String fullname = rs.getString("FullName");

  jtextfiel.setText(fullname);

  //////or - short 

  jtextfiel.setText(rs.getString("FullName"));
}
0 голосов
/ 20 июля 2016

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

jahanzeb farooq не показывал его код, но если вы объявили переменные PreparedStatement и ResultSet вне текущего метода и использовали их в других запросах, попробуйте объявить их заново внутри текущего метода, то есть

PreparedStatement pst=conn.prepareStetement(sql);
ResultSet rs=pst.executeQuery();

Проблема будет решена (или, по крайней мере, исправлена)

0 голосов
/ 03 сентября 2010

Вы можете попробовать поставить круглые скобки вокруг конкатенации строк, как в

SELECT (U.FirstName + ' ' + U.LastName) AS FullName FROM User U

Делись и наслаждайся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...