2014-12-22 162 views
-2
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不适用于参数(无效)。 ,我不知道为什么。我试图删除String []参数,但没有任何工作。 我该怎么办?谢谢方法parseInt(字符串)类型Integer不适用于参数(void)

+1

阅读错误消息。当你传递一个字符串时,你传递一个void类型(showMessageDialog返回void)。另外,我假设你试图解析一个字符串,但是你只是把它分配给一个字符串。要么解析实际的整数字符串并将其分配给一个整数,要么将其保留为字符串。 – tnw

+1

检查[JavaDoc for JOptionPane](http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html#showMessageDialog(java.awt.Component,%20java.lang.Object) ) – superEb

+5

这是其中一个问题,它会让您花更少的时间阅读IDE给您的消息,而不是您发布SO –

回答

2

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

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

注意id_convoint类型不String的。

+0

上的问题,感谢manouti的作品!愿上帝保佑你的帮助! – mee123

相关问题