开发者

Getting "The column name xxx is not valid" exception when trying to combine columns

I am trying to combine two columns in SQL query but getting the following exception in java.sql.ResultSet's FindColumn method:

JdbcSqlException: The column name FullName is not valid. Column: 'FullName'

Here is my SQL query

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

Anyone?

Please note that query runs fine when I run it dire开发者_Python百科ctly in SQL Server management studio. Also, this query is part of a big query that's why U as alias.


When you put "AS FullName", Fullname is a label now. JDBC gets data by "column name" or "field name". You have to change your code (I dont know your prog. language) accordingly.


You might try putting parentheses around the string concatenation, as in

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

Share and enjoy.


Sorry I am answering this late. I am sure someone will need the answer. I have had the same problem and whereas I do not know exactly why and what causes it, I have found a way to fix it (at least for my case).

jahanzeb farooq did not show his code but if you had declared the PreparedStatement and ResultSet variables variables outside the current method and used them in other queries then try declaring them anew inside the current method, that is

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

The problem will be sorted (or at least fixed)


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜