String   sql1="insert into guest values('"+str1+"','"+str2+"',"+Integer.parseInt(str3)+",'"+str7+"')";
String   sql2="insert into Snumroomnum values    ('"+str2+"',"+Integer.parseInt(str4)+",'"+str5+"','"+str5+"')";       
ResultSet   rs1=stmt1.executeUpdate(sql1);
ResultSet   rs2=stmt2.executeUpdate(sql2); 为什么错误提示说类型(INT)不兼容??请高手指教!!!

解决方案 »

  1.   

    Integer.parseInt(str3)//为什么要这样啊 str3是数字型的字符串么 直接写str3不就行了 不要加单引号
      

  2.   

    1。Integer.parseInt(str);如果str不是一个数字串会抛出异常的。
    2。检查一下表结构,最好用insert into table (colum1,colum2,.....) values()否则列的顺序有可能是错的
      

  3.   

    还是一样啊
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\ENOUGH>cd \C:\>e:E:\>cd hotelE:\hotel>javac hotel.java
    hotel.java:172: 不兼容的类型
    找到: int
    需要: java.sql.ResultSet
                            ResultSet   rs1=stmt1.executeUpdate(sql1);
                                                               ^
    hotel.java:173: 不兼容的类型
    找到: int
    需要: java.sql.ResultSet
                            ResultSet   rs2=stmt2.executeUpdate(sql2);
                                                               ^
    2 错误E:\hotel>
      

  4.   

    我知道了,原来我用的是executeUpdate(),他的返回类型是影响记录的条数,所以和ResultSet   rs2不能相等.所以错了.谢谢各位!!!
      

  5.   

    sql没有错误,使用executeUPdate()返回的不是记录,而是影响的记录条数,类似的方法还有
    execute(String sql);
      

  6.   

    String   sql1="INSERT INTO guest(Snum,name,age,addr) VALUES("+str2+",'"+str1+"',"+str3+",'"+str5+"')";
             String   sql2="INSERT INTO Snumroomnum(Snum,roomnum,intime,outtime) VALUES("+str2"+"str4+","+str6+","+str7+")"; 还有一个问题,我这样插入,不知道为什么有问题.
    错误是:  E:\hotel>javac hotel.java
    hotel.java:171: 需要 ';'
                            String   sql2="INSERT INTO Snumroomnum(Snum,roomnum,inti
    me,outtime) VALUES("+str2"+"str4+","+str6+","+str7+")";                         ^
    hotel.java:171: 不是语句
                            String   sql2="INSERT INTO Snumroomnum(Snum,roomnum,inti
    me,outtime) VALUES("+str2"+"str4+","+str6+","+str7+")";                                                  ^
    2 错误
    请帮忙!!!
      

  7.   

    ResultSet   rs1=stmt1.executeUpdate(sql1);
    ResultSet   rs2=stmt2.executeUpdate(sql2);
    -----------------------------------------executeUpdate这个方法返回值是int类型的,不是ResultSet类型。
      

  8.   

    sql2="INSERT INTO Snumroomnum(Snum,roomnum,inti
    me,outtime) VALUES("+str2+","+str4+","+str6+","+str7+")";