*************PreparedStatement中如何在sql中使用in

lily2000 2006-04-20 08:59:40
请看我的程序:
String sql = "select * from test where id in ( ? ) ";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, idS);
ResultSet rs = stmt.executeQuery(); //这行总是报错
while (rs.next()) {
......
}
我用的是oracle9i数据库,如果不使用预编译的方式,执行就没有问题。
难道预编译不能使用in吗?
...全文
365 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lily2000 2006-04-20
  • 打赏
  • 举报
回复
问题已经解决了,谢谢各位拉
heronce 2006-04-20
  • 打赏
  • 举报
回复
import java.sql.*;

class Preparedstmt {

Preparedstmt() {
try {
...
Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433;DatabaseName=??","sa", "");

String strsql = "select username from T_Person where id > ?";
PreparedStatement pstmt = conn.prepareStatement(strsql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
pstmt.setInt(1,1);//第一个参数的值是1,即id>1

ResultSet rs = pstmt.executeQuery();


while(rs.next()){
String fname = rs.getString("username");
System.out.println("姓名是: " + fname);
}
rs.first();
rs.close();
pstmt.close();
conn.close();

} catch (SQLException e) {
e.printStackTrace();
}
}


public static void main(String[] args) {
new Preparedstmt();
}
}
希望对你有用
lily2000 2006-04-20
  • 打赏
  • 举报
回复
我换了种方式
String sql="select * from book where name in(?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
String name1 = "A";
String name2= "B";
String name3 = "C";
pssetString(1, name1);
pssetString(2, name2);
pssetString(3, name3);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
System.out.println("get one");
}
这样好像可以解决
treeroot 2006-04-20
  • 打赏
  • 举报
回复
不能!
crazycy 2006-04-20
  • 打赏
  • 举报
回复
学习一下 呵呵
Ryo_Hazuki 2006-04-20
  • 打赏
  • 举报
回复
我选择了逃避
String sql = "select * from test where id in ( {0} ) ";
sql = MessageFormat.format(sql, idS);
PreparedStatement stmt = conn.prepareStatement(sql);
//stmt.setString(1, idS);
ResultSet rs = stmt.executeQuery();

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧