首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

jdbc的有关问题, sql语句出错

2012-04-05 
jdbc的问题, sql语句出错Java codeString sqlselect * from ?ResultSet rstSqlHelper.select(sql,Pr

jdbc的问题, sql语句出错

Java code
    String sql="select * from ?";        ResultSet rst=SqlHelper.select(sql,"Product");        while(rst.next()){        System.out.println(rst.getString(1));        }



[Microsoft][ODBC Microsoft Access Driver] Parameter 'Pa_RaM000' specified where a table name is required.

这个问号的地方写的有问题吗???

我换了别的方法也是现实sql语句出错

[解决办法]
public void testSql() throws SQLException {

String sql="select * from Product";
ResultSet rst=SqlHelper.select(sql,"");
while(rst.next()){
System.out.println(rst.getString(1));
}

}
写成这样子试试 ?


[解决办法]
public static ResultSet select(String sql,String parameters){
try{con=getCon();
ps=con.prepareStatement(sql);
//给问号赋值
// if(parameters!=null){
// for(int i=0;i<parameters.length;i++){
// ps.setString(i+1,parameters[i]);
// }
// }
ps.setString(1,parameters);

rst=ps.executeQuery();
}catch(Exception e){
e.printStackTrace();//开发阶段
//抛出异常
throw new RuntimeException(e.getMessage());
}
return rst;
}
修改成
Java code
public static ResultSet select(String sql,String parameters){        try{con=getCon();        ps=con.prepareStatement(sql);        //给问号赋值if (!"".equals(parameters))        ps.setString(1,parameters);                rst=ps.executeQuery();            }catch(Exception e){            e.printStackTrace();//开发阶段            //抛出异常            throw new RuntimeException(e.getMessage());        }        return rst;    }
[解决办法]
这样写?代替表,压根就找不到表面,你得指定一下表名试试看
[解决办法]
?只能对参数赋值,不能作为本身传递给sql。所以想:select ? from ?这样的同学注意了。肯定会报错的,找不到列,找不到表。

热点排行
Bad Request.