本帖最后由 no_two 于 2010-06-23 16:16:34 编辑

解决方案 »

  1.   

    executeQuery() 是用这个方法吗?  不是execute()?
      

  2.   

    pstmt = conn.prepareStatement(sql);
    num = pstmt.executeUpdate();这样的吧
      

  3.   


    Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute.方法executeQuery 
           用于产生单个结果集的语句,这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。方法executeUpdate
           用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。方法execute:
           用于执行返回多个结果集、多个更新计数或二者组合的语句,一般不用这个方法。现在知道你的问题了吧,插入数据应该用executeUpdate。
      

  4.   

     我用一个select * from user; 这个结果集我想返回出去怎么搞?我的方法是这样的:
    public List<User> finAll() throws Exception {

    stmt = conn.createStatement();
    stmt.executeQuery("select * from user;");

     
    }
      

  5.   

    stmt.executeQuery(sql);??不应该是查询啊!应该是stmt.executeUpdate(sql)
      

  6.   


    那查询出来返回的结果集怎么存到User对象中??
      

  7.   


    public List<User> finAll() throws Exception { List<User> list = new ArrayList<User>(); stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from user"); while (rs.next()) {
    User user = new User();
    user.setUserId(rs.getString("UserID"));
    user.setUserName(rs.getString("UserName"));
    user.setPassWord(rs.getString("PassWord"));
    user.setSex(rs.getString("Sex"));
    user.setAddress(rs.getString("Address"));
    list.add(user);
    } return list;
    }
      

  8.   


    int类型的ID 把他强转还是 ??、
      

  9.   

    获得list集合,用标签或者for循环输出不就行了
      

  10.   

    stmt.executeUpdate(sql); 
    这个太基础了,楼主还是好好复习下基础知识吧。
      

  11.   

    USER是关键字,需要用双引号括起来"USER",或者改表名为“USERS"