首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

一个关于Oracle中嵌套子查询的有关问题?

2012-12-19 
一个关于Oracle中嵌套子查询的问题??????????????????????我写了一个查询语句,用的是预处理的方式,在设置

一个关于Oracle中嵌套子查询的问题??????????????????????
我写了一个查询语句,用的是预处理的方式,在设置占位符的时候,执行更新语句操作出现异常.好像是那个占位符的参数没有放进去,也不知道是怎么回事,有没有碰到这种情况的呀,请求给解答下...不胜感激!!
代码如下:
public List selectUserNotUnite(Connection conn, String mobile)
throws SQLException {
IDMPSpVO spvo = null;
List list = null;
PreparedStatement ps = null;
ResultSet rs = null;
CommonLog.debug(IDMPSpDAO.class, "mobile: " + mobile);
try {
ps = conn.prepareStatement("SELECT * FROM IDMP_SP WHERE SPID NOT IN (SELECT S.SPID FROM  IDMP_USER U,IDMP_UNITE E,IDMP_SP S WHERE U.MSISDN = " + "?" + " AND U.USERID = E.USERID AND E.SPID =S.SPID)");
ps.setString(1, mobile);
rs = ps.executeQuery();
list = new ArrayList();
while (rs.next()) {

spvo = new IDMPSpVO();
spvo.setSPID(rs.getString("SPID"));
spvo.setSPNAME(rs.getString("SPNAME"));
spvo.setSPURL(rs.getString("SPURL"));
spvo.setCreateDate(rs.getDate("CreateDate"));
list.add(spvo);
}
} catch (SQLException e) {

CommonLog.error(IDMPSpDAO.class, e);
throw e;
} finally {
ApplicationConnSource.close(rs, ps);
}
return list;

}
现在里面用的是联加字符串表示的,如果要求预处理该怎么实现.
SELECT * FROM IDMP_SP WHERE SPID NOT IN (SELECT S.SPID FROM  IDMP_USER U,IDMP_UNITE E,IDMP_SP S WHERE U.MSISDN = ? AND U.USERID = E.USERID AND E.SPID =S.SPID
[解决办法]
补充下:出现的异常说是有无效的字符.
报一个invalid character
[解决办法]
该回复于2008-05-01 06:31:08被版主删除

热点排行