gpt4 book ai didi

java - 使用 JDBC 从数据库中提取并创建数组

转载 作者:行者123 更新时间:2023-11-30 00:21:47 25 4
gpt4 key购买 nike

我正在尝试从 mysql 数据库中提取数据,但我的代码不断抛出 nullpointerexception并认为这是因为没有创建数组,我做错了什么?这是代码:--谢谢!

public ArrayList<String> getRow(String quEry, String db){

String url = "jdbc:mysql://localhost:3306/"+db;
try {
conn = DriverManager.getConnection(url, "root", "");
} catch (SQLException e) {

}
try{
query = conn.prepareStatement(quEry);

}catch(Exception e){

}
try {
getRow_Method_Result = query.executeQuery();
} catch (SQLException e) {

}
try{
while(getRow_Method_Result.next()){

row_result.add(getRow_Method_Result.getString(1));
row_result.add(getRow_Method_Result.getString(2));
row_result.add(getRow_Method_Result.getString(3));
row_result.add(getRow_Method_Result.getString(4));
}
}catch(Exception e){

}



return row_result;
}

public static void main(String[] args) {

ConectorBaseDatos OBJ_testGetRowMethod = new ConectorBaseDatos();

ArrayList<String> rowListResult_ofMethos = OBJ_testGetRowMethod.getRow("SELECT * FROM `arbitros`", "fifa");

System.out.println(rowListResult_ofMethos.toString());
}

我尝试将其创建为 String[][] array但由于这有点复杂,决定首先将其创建为 ArrayList,然后将此结果插入到 ArrayList<ArrayList<String>> 中但只是卡在这里

最佳答案

我会写在这里,因为评论可能会有点长。

rowListResult_ofMethodsnull意味着您调用 OBJ_testGetRowMethod.getRow("SELECT * FROM仲裁", "fifa")返回null

看看你的public ArrayList<String> getRow(String quEry, String db)方法,我没有看到哪里row_result首先被初始化。

所以,您应该找到并确保 row_result在某处初始化。 (可能类似于 row_result = new ArrayList<String>() 某处。)

此外,您永远不应该(我想说永远不,可能因其他人而异)在捕获异常后不执行任何操作!

不要这样做:

try{
while(getRow_Method_Result.next()){
row_result.add(getRow_Method_Result.getString(1));
row_result.add(getRow_Method_Result.getString(2));
row_result.add(getRow_Method_Result.getString(3));
row_result.add(getRow_Method_Result.getString(4));
}
} catch(Exception e){
//Do not leave this blank!!! you must handle exception here !
// At least do e.printStackTrace(); to see exception during development.
}

只要对数据库的连接和查询成功,我猜上面的row_result.add(getRow_Method_Result.getString(1));会抛出 NullPointerException 。但这个异常被丢弃,并且没有采取任何操作,因为您将该部分留空。

关于java - 使用 JDBC 从数据库中提取并创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23172199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com