将列提取到不在表中的结果集中

时间:2013-09-19 08:43:46

标签: java oracle

我的标题可能不够明确。那么让我解释一下这个问题。我必须从数据库中检索值,将其存储在数组列表中并动态显示在jsp页面中。对于那是使用查询

select customer, 
       id, 
       0 message 
  from TableName

我的表结构:

customer  varchar2(20)
id        Number

我不知道如何将列0 message添加到结果集中,因为该列中不存在该列。

例如,如果我们给出

select 0 message 
  from TableName;

上述查询的输出将为

message
0

所以现在我的问题是如何将此列(消息)添加到我的Resultset和Array列表中?

4 个答案:

答案 0 :(得分:1)

当你在问题中将它添加到SQL查询中时,它也应该出现在结果集中......

答案 1 :(得分:0)

Hlo ..下面的代码会帮助你..

package com.smk.jdbc.ps;

import java.util.ArrayList;


public class PreparedStatement {

public static void main(String[] args) {
try{
Class.forName("oracle.jdbc.OracleDriver");

java.sql.Connection conn = null;
java.sql.PreparedStatement ps = null;
String strQry = "select 1 message  from dual where 1 = ?";

conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:wzdev", "user","pwd");
ps = conn.prepareStatement(strQry);
ps.setInt(1, 1);

java.sql.ResultSet rs = ps.executeQuery();

while(rs.next()){
java.util.ArrayList<java.sql.ResultSet>  ars = new ArrayList<java.sql.ResultSet>();
ars.add(rs);    

System.out.println(ars.get(0).getInt("message"));
}



}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}

}

答案 2 :(得分:0)

只是想知道您是否因为使用JDBC中的附加(不存在的数据库)列执行SQL查询而遇到任何问题。

例如: - 您可以通过JDBC直接在数据库中执行以下查询

select customer, 
   id, 
   0 "message"
from TableName 

示例代码段。

Connection conn = DriverManager.getConnection(".....", "...","..");
ps = conn.prepareStatement("select customer, id, 0 \"message\" from your_table");
ResultSet rs = ps.executeQuery();
while(rs.next()){
    System.out.printf("%s %s %s", rs.getString("id"), rs.getString("customer"), rs.getString("message"));
}

答案 3 :(得分:0)

这段代码适用于sql server。并且无论你想做什么都可以。

public class ConnectionPool
{
public static void main(String[] args)
{
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("","","");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("select sRowId,  0 messa  from tblAccount");
while(rs.next())
{
list.add(rs.getInt("messa"));
}
System.out.println(list.size());
}
catch (Exception e)
{
e.printStackTrace();
}
}
}