2014-12-22 138 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

相關問題