我的标题可能不够明确。那么让我解释一下这个问题。我必须从数据库中检索值,将其存储在数组列表中并动态显示在jsp页面中。对于那是使用查询
select customer,
id,
0 message
from TableName
我的表结构:
customer varchar2(20)
id Number
我不知道如何将列0 message
添加到结果集中,因为该列中不存在该列。
例如,如果我们给出
select 0 message
from TableName;
上述查询的输出将为
message
0
所以现在我的问题是如何将此列(消息)添加到我的Resultset和Array列表中?
答案 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();
}
}
}