有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将resultset转换为int进行查询

我正在从“第一个表”中提取数据,并将其存储到ResultSet中。现在我想把提取的数据插入“第二个表”

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

我试过:

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

    int g = Integer.parseInt(rs);

但它给了我输入字符串的错误java.lang.NumberFormatException"com.mysql.jdbc.ResultSet@39badcaa"


共 (2) 个答案

  1. # 1 楼答案

    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+")"
    
  2. # 2 楼答案

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

    试试这个:

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

    现在像这样插入数据库

    insert into mytable (myintfield)values(g);
    

    还请检查str是否没有返回空字符串值

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

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

    就这么做吧

    int myint = Integer.parseInt(str);