SQL语句:
String sql = "select * from manager where m_name = ? and m_password = ?";数据库链接。PS实例对象。页面过来的数据都拿到了。接下来:
ps.setString(1, name);
ps.setString(2, password);写了个测试语句用于测试参数是否添加成功:
System.out.println("=================SQL:" + sql);好了。运行。结果出异常:java.sql.SQLException: Can not issue SELECT via executeUpdate().控制台打印信息:
===============用户名:admin
===============密  码:admin
上面是测试页面数据是否正常过来
下面是测试语句打印出来的。说明参数没有进去。
=================SQL:select * from manager where m_name = ? and m_password = ?

解决方案 »

  1.   

    呵呵,新手的问题就是可爱,
    执行SELECT的时候,不能用executeQuery();
    设置进去并不是修改你的sql,而是PreparedStatment内的内容,具体因驱动不同而异
      

  2.   

    executeUpdate()改 executeQuery()
    你做的是查询,不是修改 
      

  3.   

        表示预编译的 SQL 语句的对象。 SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。 而不是将值存在sql语句当中..而且你这使用的executeUpdate()方法,但是你的这语句是UPDATE么??明明是select语句,使用execute()就可能!
        如果你要输出看下,只有自己拼接字符串呢!
      

  4.   

    executeQuery这个方法返回的是结果集吧?
    我做的用户验证。
    相返回个信息。
    开始我是看到executeUpdate这个方法返回的是int数据
    就用了。
      

  5.   

    executeQuery返回的结果集,execute返回的boolean值!!你可以使用execute来执行就可以,然后判断
      

  6.   

    好像有道理。executeQuery的话,你可以判断结果集是否为空,从而达到用户验证的效果。
    这些我不太熟悉,很少直接操作JDBC的。