使用PreparedStatement ,如何创建oracle分区动态查询?如下代码:String qry2 = "select vehicle_id,rec_date,velocity from vehiclegps_info partition (?)";
Connection conn;
PreparedStatement ps ;
String pam = "dat1"; ps = conn.prepareStatement(qry);
ps.setString(1, pam);
rs = ps.executeQuery();代码会报错,为什么?请教高手!

解决方案 »

  1.   

    "select vehicle_id,rec_date,velocity from vehiclegps_info partition (?)这个SQL本身就不是合法的SQL语句。无论?代表什么
      

  2.   

    "select vehicle_id,rec_date,velocity from vehiclegps_info partition (?)这个SQL本身就不是合法的SQL语句。无论?代表什么
      

  3.   

    select vehicle_id,rec_date,velocity from vehiclegps_info partition (?) 
    有这种语法么?
    没看懂 - -
      

  4.   

    sql语句有问题,在就是你的程序可能包NullPointerException,原因是你的Connection 的对象conn没有初始化,是null值
      

  5.   

    如果你的目的是想通过PreparedStatement 动态设置查询条件的话,
    改成  select vehicle_id,rec_date,velocity from vehiclegps_info partition = ?  
    试试,即把括号去掉,换成等号“=”,应该就没有问题了。
      

  6.   

    sql错了吧。conn和ps要赋NULL,还有  ps = conn.prepareStatement(qry); 括号里面应该是(qry2)
      

  7.   

    sql错了,conn和ps要赋初值为null,ps = conn.prepareStatement(qry); 括号里面应该是(qry2)。
      

  8.   

    觉得PrepareStatement不适合用来做查询
    例如取出1年的数据,
    初级程序员才会通过PrepareStatement传入12个月份进行取数
    当然防止SQL注入例外
      

  9.   

    把sql在数据库里直接执行看看有没有问题,再搬到语句上面去。