当前位置: 技术问答>java相关
在数据库中参数的输入 使用PreparedStatement对象出错
来源: 互联网 发布时间:2017-03-18
本文导语: 我先用select语句检验 String sql="select ? from student"; PreparedStatement stmt=con.prepareStatement(sql); stmt.setString(1,name); ResultSet rs=stmt.executeQuery(); 当我输出是lable 竟然是 ?,然后底下的数据都显示 name 这四个字母 然后...
我先用select语句检验
String sql="select ? from student";
PreparedStatement stmt=con.prepareStatement(sql);
stmt.setString(1,name);
ResultSet rs=stmt.executeQuery();
当我输出是lable 竟然是 ?,然后底下的数据都显示 name 这四个字母
然后我用update检验,运行事又说是
SQLException: Driver does not support this function
String sql="select ? from student";
PreparedStatement stmt=con.prepareStatement(sql);
stmt.setString(1,name);
ResultSet rs=stmt.executeQuery();
当我输出是lable 竟然是 ?,然后底下的数据都显示 name 这四个字母
然后我用update检验,运行事又说是
SQLException: Driver does not support this function
|
这样是不行的
setString会把name的值加上引号,例如name的值是abc,则执行的语句是
select 'abc' from student
输出的当然是abc拉。
参数只能是字段值。例如:
UPDATE _Function SET name=?,no=?,url=?,orderID=?,layer=?,parentID=?,hasChild=?,note=? WHERE functionID=?
setString会把name的值加上引号,例如name的值是abc,则执行的语句是
select 'abc' from student
输出的当然是abc拉。
参数只能是字段值。例如:
UPDATE _Function SET name=?,no=?,url=?,orderID=?,layer=?,parentID=?,hasChild=?,note=? WHERE functionID=?