类型为Integer的方法parseInt(String)不适用于参数(void)

时间:2014-12-22 14:40:20

标签: java mysql eclipse

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.swing.JOptionPane;


public class Main
{
public static void main (String[] args) throws Exception

{
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection con =  DriverManager.getConnection("jdbc:mysql://localhost:3306/convocation","root","");



    *String id_convo= Integer.parseInt(JOptionPane.showMessageDialog(null,"Input ConvoID"));*
    JOptionPane.showInputDialog(null,"Please Insert Student ConvoID");

    PreparedStatement statement = con.prepareStatement("select * from stud_details where id='"+id_convo+"' ");

    ResultSet result = statement.executeQuery();

    while(result.next())
    {
        JOptionPane.showMessageDialog(null,result.getString(1) + " "+ result.getString(2));
    }
}
}

基本上这是我的代码。我希望用户输入convo id(例如:01,02),它会显示数据库ID 01或02中的详细信息。 但是,我不知道为什么有一个错误,其中Integer不适用于参数(void)。 而且我不知道为什么。我试图删除String [] args但没有任何作用。 我该怎么办?感谢

1 个答案:

答案 0 :(得分:2)

声明JOptionPane.showMessageDialog(null,"Input ConvoID")不会返回String。返回String的是在该语句之后立即调用的方法:JOptionPane.showInputDialog。所以代码应该如下:

int id_convo = Integer.parseInt(JOptionPane.showInputDialog(null,"Please Insert Student ConvoID"));

请注意,id_convo的类型应为int而不是String