簡體   English   中英

無法從MySQL數據庫中選擇數據:java.lang.NullPointerException

[英]Can't select data from MySQL database: java.lang.NullPointerException

我正在嘗試使用以下代碼從數據庫中選擇數據:

//DATABASE
ResultSet rs;
String polecenie;
Statement st;
String[] subj;

public void polacz() {
    try {
        Class.forName("com.mysql.jdbc.Driver");

        Connection pol=DriverManager.getConnection("jdbc:mysql://localhost:3306/testgenerator", "root", "pospaz");
        st = pol.createStatement();
        lblPolaczonoZBaza.setText("Połączono z bazą danych testgenerator");

    } catch (Exception ek) {
        statusMessageLabel.setText("Can't connect to d: "+ek);
    }


    polecenie = "select * from subjects";


    try {
        rs = st.executeQuery(polecenie);
        int i=0;
        while (rs.next()){
            subj[i] = rs.getString("name");
            i++;
        }
        st.close();
    } catch (Exception ek) {
        statusMessageLabel.setText("Can't select data: "+ek);
    }
}

第二個捕獲顯示異常:

java.lang.NullPointerException

我到處尋找,我找不到解決方案。 我會感激任何幫助。

你永遠不會實例化subj[] ,導致它為null

你沒有初始化我可以看到的String[] subj數組,所以當它到達subj[i] = ...它會窒息。 您需要執行以下操作之一:

  • 確定結果集中的行數,並初始化subj = new String[resultcount]
  • 使用自動擴展容器(如ArrayList )而不是字符串數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM