sqlRst=sqlStmt.executeUpdate("update  qz_info set readtimes=readtimes+1 where infoid="+request.getParameter("infoid")+"");
我看了一下,有些readtimes 初始是空的
我就想直接写在jsp页面里出错:gov\shenpi_ex_server\shenpi_extranet\QzGovExtranet.war\info\_counter_jsp_15.java:117: = 的不兼容类型。无法将 int 转换为 java.sql.ResultSet。 sqlRst=sqlStmt.executeUpdate("update qz_info set readtimes=readtimes+1 where infoid="+request.getParameter("infoid")+""); ^ 1 个错误 帮忙看看啊

解决方案 »

  1.   

    sqlRst=sqlStmt.executeUpdate("update  qz_info set readtimes=readtimes+1 where infoid="+Integer.parseInt(request.getParameter("infoid"))+"");
      

  2.   

    执行executeUpdate方法返回值是int类型的,你查询的executeQuery才返回ResultSet类型,看看API文档.
    int sqlRst;
    sqlRst=sqlStmt.executeUpdate("update qz_info set readtimes=readtimes+1 where infoid="+Integer.parseInt(request.getParameter("infoid"))+"");
      

  3.   

    executeUpdate
    int executeUpdate(String sql)
                      throws SQLException执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。 参数:
    sql - SQL INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句 
    返回:
    INSERT、UPDATE 或 DELETE 语句的行计数;或者 0,表示不返回任何内容的 SQL 语句 
    ResultSet executeQuery(String sql)
                           throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 参数:
    sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句 
    返回:
    包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
      

  4.   

    谢谢,这样倒是没有错误了
    可是数据库里的readtimes字段没有被更新,这是为什么呢
      

  5.   

    Integer.parseInt(request.getParameter("infoid"))这个值是多少?看看数据库有匹配的记录吗?
      

  6.   

    不好意思,已经可以看到更新了
    只不过又有另外的问题(第一次写jsp,大家见笑了)我是在每个行中都插入一个数值如10,然后才更新上的
    如果原来是空值,怎么先判断为空则赋值0 然后更新然后又怎么能把这个readtimes值取出来(与更新在同一个页面,然后通过<script src=..jsp></script>来调用)
    asp的我做过,jsp的不会谢谢各位先
      

  7.   

    如果是数据库字段是int型,设置default 0,以后不用判断