id是table的一个字段吧当它为字符型时
select * from table where id='v_var';
当它为数字型时
select * from table where id=v_var;

解决方案 »

  1.   

    v_var具有特殊含义,是吗?如上所写,还调用
    stmt.setString(1,value);方法吗?还有没有必要对空值做一些处理,比如:
    if (value== null || value.length == 0){
      stmt.setString(1,value);
    } else {
      stmt.setNull(1,Types.VARCHAR);
    }
    (其实stmt.setNull()方法我并不太懂,不知道有什么作用,这段代码是别人的。)
      

  2.   

    v_var只是一个变量值你以上句法是否java,请讲清你的问题所在
      

  3.   

    ok.我可能没表达清楚1) 是java2) 比如数据库中有名为table的表,该表的内容如下:
       id       name
       309      zlx
       083      xlz
       
       有查询语句
         PreparedStatement stmt = con.repareStatement("select * from table where id=?");
         stmt.setString(1,"309");
         ResultSet rs = stmt.executeQuery();
         //检索出id=309的记录    以上我没有问题。问题是我想实现在具有上述功能的同时,能具有以下功能
         ResultSet rs = stmt.executeQuery();
         stmt.setString(1,"");
         //检索出table表中所有的记录。不知道我表达清楚了没有?
      

  4.   

    PreparedStatement stmt = con.repareStatement("select * from table);直接运行就可以了,不用参数