public String judgeproduct(rockeggForm rform,String username) throws Exception
{
String a = null;
System.out.println(rform.getPid());
//String sql=null;
String sql = "update product set p2=1 where userid=(select id from user where name=?)" ;
if(rform.getPid().equals("p1"))
{
System.out.println("111111");
sql = "update product set p1=1 where userid=(select id from user where name=?)" ;
System.out.println("13232");
}
else if(rform.getPid().equals("p2"))
{
System.out.println("22222");
sql = "update product set p2=1 where userid=(select id from user where name=?)" ;
}
else
{
System.out.println("33333");
sql = "update product set p3=1 where userid=(select id from user where name=?)" ;
}
//String sql = "select ? from product where userid=(select id from user where name=?)" ;
System.out.println(sql);
PreparedStatement pstmt = null ;
MyDB dbc = null ;
dbc = new MyDB() ;
try
{
pstmt = dbc.getConnection().prepareStatement(sql) ;
//pstmt.setString(1,rform.getPid());
//pstmt.setString(2,username);
pstmt.setString(1,username);
ResultSet rs = pstmt.executeQuery() ;
while(rs.next())
{
System.out.println(rs.getString(1));
a=rs.getString(1);
}
rs.close() ;
pstmt.close() ;
}
catch (Exception e)
{
System.out.println(e) ;
throw new Exception("操作中出现错误!!!") ;
}
finally
{
dbc.close() ;
}
return a;
}这是控制台 输出的信息及错误:p1
111111
13232
update product set p1=1 where userid=(select id from user where name=?)
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().刚开始我想直接把字段名设置成变量。
String sql = "select ? from product where userid=1)" ;
pstmt.setString(1,rform.getPid());请问字段名 可以用 pstmt.setString赋值吗?
{
String a = null;
System.out.println(rform.getPid());
//String sql=null;
String sql = "update product set p2=1 where userid=(select id from user where name=?)" ;
if(rform.getPid().equals("p1"))
{
System.out.println("111111");
sql = "update product set p1=1 where userid=(select id from user where name=?)" ;
System.out.println("13232");
}
else if(rform.getPid().equals("p2"))
{
System.out.println("22222");
sql = "update product set p2=1 where userid=(select id from user where name=?)" ;
}
else
{
System.out.println("33333");
sql = "update product set p3=1 where userid=(select id from user where name=?)" ;
}
//String sql = "select ? from product where userid=(select id from user where name=?)" ;
System.out.println(sql);
PreparedStatement pstmt = null ;
MyDB dbc = null ;
dbc = new MyDB() ;
try
{
pstmt = dbc.getConnection().prepareStatement(sql) ;
//pstmt.setString(1,rform.getPid());
//pstmt.setString(2,username);
pstmt.setString(1,username);
ResultSet rs = pstmt.executeQuery() ;
while(rs.next())
{
System.out.println(rs.getString(1));
a=rs.getString(1);
}
rs.close() ;
pstmt.close() ;
}
catch (Exception e)
{
System.out.println(e) ;
throw new Exception("操作中出现错误!!!") ;
}
finally
{
dbc.close() ;
}
return a;
}这是控制台 输出的信息及错误:p1
111111
13232
update product set p1=1 where userid=(select id from user where name=?)
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().刚开始我想直接把字段名设置成变量。
String sql = "select ? from product where userid=1)" ;
pstmt.setString(1,rform.getPid());请问字段名 可以用 pstmt.setString赋值吗?
解决方案 »
- jsp能获取系统环境变量吗
- org.springframework.web.context.ContextLoaderListener cannot be cast to javax.se
- websphere session id 在哪里设置?
- 获取数据ID,并删除ID数据记录
- 求带shopping cart 和 PayPal在线支付的CMS
- 敬请大家关注一下我的问题:JBX里面JavaBean出现错误
- 一个简单的web例子。怎么也无法运行
- 新人求解 目前功能:通讯录管理 系统信息管理
- 请教大家关于xsl的问题,href里不能包含“<”字符错误
- cas单点登录报错
- 在线等————求助一个js+css导航栏问题
- 帮小妹看看ajax提交到action的问题
PreparedStatement 需要先在数据库里面生成一个sql预处理语句,然后才能赋值,如果字段名 作为参数传递,那起码的sql校验都没有通过,其他的就over啦