无法从MySQL数据库中选择数据:显示java.lang.NullPointerException
问题描述:
我想使用此代码选择从数据库中的数据:无法从MySQL数据库中选择数据:显示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
我到处寻找,找不到解决方案。我会很感激任何帮助。
答
你不是初始化String[] subj
阵列,我所看到的,所以当它到达subj[i] = ...
它扼流圈。你需要做以下之一:
- 确定在结果的行数,并初始化
subj = new String[resultcount]
- 使用一个自动扩展容器(如一个
ArrayList
),而不是字符串数组
答
你永远不会实例subj[]
这会导致它为空