如何将结果集转换为int以进行查询

时间:2013-04-13 06:27:56

标签: java

我从“1st table”获取数据并将其存储到resultsset中。现在我想将获取的数据插入“2nd table”

问题是“第二个表”只接受int值。

我试过了:

while (rs.next()) 
    {
        int g = rs.getInt(1);
    }

    int g = Integer.parseInt(rs);

但它为输入字符串java.lang.NumberFormatException

提供了错误"com.mysql.jdbc.ResultSet@39badcaa"

2 个答案:

答案 0 :(得分:0)

Integer.parseInt(rs.getString(1));

String sql1="SELECT Id FROM kiosk_manager WHERE Kiosk_Centre='"+Uareacode+"'";
stmt1=con.createStatement(); 
rs=stmt1.executeQuery(sql1);
int parseInt = 0;
while (rs.next()) { parseInt=Integer.parseInt(rs.getString(1)); }
sql="INSERT INTO consumer(KioskManager_Id)VALUES("+parseInt+")"

答案 1 :(得分:0)

您的结果集返回一个无法转换为整数的字符串

试试这个:

 while (rs.next()) {
    String str = rs.getString("COLUMN_NAME");
        int g = Integer.parseInt(str);
    }

现在插入Db,如

insert into mytable (myintfield)values(g);

请检查str是否返回空字符串值。

如果str值例如是“SE”,则不会转换。请打印出首先返回的值,并确认它是一个数字,虽然是字符串格式;

如果返回的值是例如“2”

只做

int myint = Integer.parseInt(str);