我的代码就是这样的
DataBaseUtil dbBaseUtil=new DataBaseUtil();
Connection con=dbBaseUtil.getConnection();
String query="select case_id, ticket_id from VAPP_ITEM where
(person1_alt_email='" + username +"') and ticket_type='Service Request' and ticket_status not in ('Closed','Resolved')";
ResultSet rs=dbBaseUtil.getDbResultSet(query);
List<String> tickets=new ArrayList<String>();
while(rs.next())
ticket.add(rs.getString("case_Id")+"-"+rs.getString("ticket_Id"));
MyTicketUtil.searchAndOpenTicket(webui, "", tickets.get(0));
现在,一旦我获得了元素&#34;票证(0)&#34;,我就对它执行了一些操作,并且在执行操作之后,我需要为操作所在的票证检索ticket_status演出 - 门票(0)。
但是,要查询数据库,我需要case_id和ticket_id作为故障单(0)。怎么办呢?
我尝试创建两个ResultSet和一个查询发布操作,如下所示:
while(rs1.next())
quer1 = "select ticket_status from VAPP_ITEM where case_id=rs.getString(1) and ticket_id = rs.getString(2)";
但这不起作用 - 控制台显示错误:
com.microsoft.sqlserver.jdbc.SQLServerException:找不到列&#34; rs&#34;或用户定义的函数或聚合&#34; rs.getString&#34;,或名称不明确。
答案 0 :(得分:0)
您已将rs.getString()
包含在字符串文字中。
你应该使用PreparedStatement
来做这些事情:
quer1 = "SELECT ticket_status FROM vapp_item WHERE case_id=? AND ticket_id = ?";
PreparedStatement pstm = conn.prepareStatement(quer1);
while (rs1.next())
{
pstm.setString(1, rs.getString(1));
pstm.setString(2, rs.getString(2));
rs2 = pstm.executeQuery();
...
}