使用了Preparestatement 对SQL语句进行预编译的情况下 需要检查使用了ps.set*的语句中 ? 只能对value进行赋值,不能对field赋值,否则会无法成功执行语句 ex: 错误的写法 sql = "SELECT * FROM "+deposId+" WHERE ? LIKE ?;"; 正确的写法 sql = "SELECT * FROM "+deposId+" WHERE owner_id LIKE ?;"; 总结:预编译的SQL语句中,不能用?给字段!