标题:我想拼接一个sql语句,实现倒排查询功能
只看楼主
sifan123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-5-26
 问题点数:0 回复次数:2 
我想拼接一个sql语句,实现倒排查询功能

我的数据库中有两个表 (在附件里)

我拼接sql的代码为

public static String getSQL(String sValue){
String sSQL=new String();
sSQL="select sPos from SearchAbstract where sWord='"+sValue+"'";
System.out.println(sSQL);
Connection con = null;
Statement st = null;
ResultSet rs = null;
String sTemp=new String();
try{
con=Dbcon.getConnection();
st=con.createStatement();
rs=st.executeQuery(sSQL);
while(rs.next()){
sSQL=rs.getString("sPos");
System.out.println(sSQL);
}
}catch(SQLException e){
System.out.println(e);
}
for(int i=0;i<sSQL.length();i++){
if(sSQL.indexOf("")>0){
sTemp=sTemp+""+sSQL.substring(sSQL.indexOf("<")+1, sSQL.indexOf(""))+",";
sSQL=sSQL.substring(sSQL.indexOf(">")+1);
}
}
sTemp=sTemp.substring(0, sTemp.length()-1);
System.out.println(sTemp);
sSQL="select * from baseArticle where sId in("+sTemp+")";
return sSQL;
}

运行的时候出现错误
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
java.lang.String.substring(String.java:1444)
search.Searchservice.getSQL(Searchservice.java:35)
search.Searchservlet.doGet(Searchservlet.java:31)
search.Searchservlet.doPost(Searchservlet.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

其中 Searchservice.java:35行 是用红色标注的行

搜索更多相关主题的帖子: sql 语句 拼接 查询 
2007-07-04 17:48
sifan123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-5-26
得分:0 
jkWUVpVC.rar (49.77 KB) 我想拼接一个sql语句,实现倒排查询功能




2007-07-04 17:50
sifan123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-5-26
得分:0 
请高手帮忙看看 上面的问题有什么错误
2007-07-04 17:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-152736-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.302552 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved