我试图在SQL查询中组合两列,但在java.sql.ResultSet的FindColumn方法中得到以下异常:
JdbcSqlException:列名 FullName无效。柱: '全名'
这是我的SQL查询
SELECT U.FirstName + ' ' + U.LastName AS FullName FROM User as U
任何?
请注意,当我直接在SQL Server管理工作室中运行查询时,查询运行正常。此外,此查询是大查询的一部分,这就是U作为别名的原因。
答案 0 :(得分:1)
当您输入“AS FullName”时,Fullname现在是一个标签。 JDBC通过“列名”或“字段名”获取数据。你必须相应地改变你的代码(我不知道你的编程语言)。
答案 1 :(得分:0)
您可以尝试在字符串连接周围添加括号,如
SELECT (U.FirstName + ' ' + U.LastName) AS FullName FROM User U
分享并享受。
答案 2 :(得分:0)
抱歉,我迟到了。我相信有人会需要答案。我遇到了同样的问题,虽然我不确切知道原因和原因,但我找到了解决问题的方法(至少在我的情况下)。
jahanzeb farooq没有显示他的代码,但如果你在当前方法之外声明了PreparedStatement
和ResultSet
变量变量并在其他查询中使用它们,那么尝试在当前方法中重新声明它们,是
PreparedStatement pst=conn.prepareStetement(sql);
ResultSet rs=pst.executeQuery();
问题将被排序(或至少是固定的)
答案 3 :(得分:0)
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"));
}