你看看可不可以这样:
String sql = "SELECT COUNT FROM Table TOPIC = ? NAME IN (?,?,?,?,?)";pst.setString(1, "'000'");
pst.setString(2, "'100'");
pst.setString(3, "'200'");
pst.setString(4, "'300'");
pst.setString(5, "'500'");
pst.setString(6, "'900'");
String sql = "SELECT COUNT FROM Table TOPIC = ? NAME IN (?,?,?,?,?)";pst.setString(1, "'000'");
pst.setString(2, "'100'");
pst.setString(3, "'200'");
pst.setString(4, "'300'");
pst.setString(5, "'500'");
pst.setString(6, "'900'");
String sql = "SELECT COUNT FROM Table TOPIC = ? NAME IN (";看看能不能replaceAll一下把变成"?,?,?,?,?"
然后
String sqlstr = sql+str+")";把str给split一下,搞到strtemp[0] = "'100'" ....再搞个循环来
pst.setString(i, "strtemp[i]");
呵呵,这样会不会太麻烦了点~
这条语句
String sql = "SELECT COUNT FROM Table TOPIC = ? NAME IN (?)";
在很久以前已经放入
PreparedStatement
"'100','200','300','500','900'"是后来组合的这样设计也很正常拼sql文肯定能解决 不是这个问题的初衷PreparedStatement 有一个方法 setArray(int i, Array array);
我觉得可能能解决这个问题
不过
我不会用 呵呵
PreparedStatement 另一个方法 setObject(int i, Object o);
能向里边set数组 我试了试 没成功
String sql = "SELECT COUNT FROM TableName TOPIC = ? NAME IN (?)";
不会有问题的
String[] strCondition = {"'100'", "'200'", "'300'", "'400'"}
String sql = "SELECT COUNT FROM Table TOPIC = ? NAME IN (";
size = sql.length();
for (int i = 0; i < size; i++) {
sql += strCondition[i];
if (i != size - 1) {
sql += ",";
} else {
sql += ")";
}
}
当然strCondition 是灵活的
主要的问题 在in那里啊
sql文是我临时拼的 拼错了 呵呵String sql = "select count from tablename where topic = ? and name in (?)";
在很久以前已经放入
PreparedStatement "'100','200','300','500','900'"是后来组合的
这样设计也很正常拼sql文肯定能解决 不是这个问题的初衷PreparedStatement 有一个方法 setArray(int i, Array array);
我觉得可能能解决这个问题
不过
我不会用 呵呵还有就是
PreparedStatement 另一个方法 setObject(int i, Object o);
可以向里边set数组 我试了试 没成功
只用Statement就可以了