我想创建一个返回字符串数组的方法。我尝试了这段代码,但返回T_NazwaJadlospisu
数组时遇到问题。
public static String[] listJadlospis() {
try {
state = con.createStatement();
result = state.executeQuery("SELECT NazwaJadlospisu FROM Jadlospis GROUP BY NazwaJadlospisu");
while (result.next()) {
Array z = result.getArray("NazwaJadlospisu");
String[] T_NazwaJadlospisu = (String[]) z.getArray();
// String T_NazwaJadlospisu =
// result.getString("NazwaJadlospisu");
// System.out.println("Jadłospis: " + T_NazwaJadlospisu);
}
return T_NazwaJadlospisu;
} catch (SQLException e) {
System.err.println("Query error.");
} catch (NullPointerException e) {
System.err.println("Element not found.");
}
}
SQL返回如下:
mysql> SELECT NazwaJadlospisu FROM Jadlospis GROUP BY NazwaJadlospisu;
+-----------------+
| NazwaJadlospisu |
+-----------------+
| dieta 1500 kcal |
| dieta testowa1 |
| test1 |
+-----------------+
3 rows in set (0.00 sec)
关于我做错了什么,以及从方法返回SELECT SQL语句输出的最佳方法是什么的任何提示。预先感谢您的帮助。
您可以尝试这样。
public static String[] listJadlospis() {
String[] T_NazwaJadlospisu = null;
try{
state = con.createStatement();
result = state.executeQuery("SELECT NazwaJadlospisu FROM Jadlospis GROUP BY NazwaJadlospisu");
while(result.next()){
Array z = result.getArray("NazwaJadlospisu");
T_NazwaJadlospisu = (String[])z.getArray();
//String T_NazwaJadlospisu = result.getString("NazwaJadlospisu");
//System.out.println("Jadłospis: " + T_NazwaJadlospisu);
}
}
catch(SQLException e){
System.err.println("Query error.");
}
catch(NullPointerException e){
System.err.println("Element not found.");
}
return T_NazwaJadlospisu;
}