gpt4 book ai didi

即使查询在 mysql admin 中有效,JAVA MYSQL 准备好的语句也会给出空结果集

转载 作者:搜寻专家 更新时间:2023-10-30 23:47:03 25 4
gpt4 key购买 nike

我知道已经有很多这样的问题了。我整天都被困在这个问题上。我正在使用从 Java 到 mysql 的准备好的语句运行查询。它抛出一个异常,因为它返回一个空的结果集,即使当我在 phpmyadmin 上运行相同的查询时它返回一些行。我的代码如下:

public static Integer returnImportLog(String filename,String importLogs,int acc_id){

int id_out=0;
ArrayList<Integer> ids = new ArrayList<Integer>();


try{
String myUrl = "jdbc:mysql://localhost:3307/blahblah";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(myUrl,"root","");
String query2 = "SELECT DISTINCT `id` FROM `"+importLogs+ "` "
+ "WHERE `file`=? AND `acc_id`= ?";
PreparedStatement statement=conn.prepareStatement(query2);
statement.setString(1,filename);
statement.setInt(2,acc_id);
//System.out.println();
ResultSet rs = statement.executeQuery();
if (rs.next())
{
int user_id = rs.getInt("id");
ids.add(user_id);

}
id_out=(Integer)ids.get(0);
conn.close();
statement.close();
rs.close();

}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
e.printStackTrace();
}

return id_out;

它给出了以下错误:

"Got an exception!

Index: 0, Size: 0 ava.lang.IndexOutOfBoundsException: Index: 0, Size: 0 t java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at Details.returnImportLog(Details.java:277)"

当我运行prepared statement生成的sql时

SELECT DISTINCT id FROM pwc_import_logs WHERE file='11111Spanners.csv' AND acc_id= 1"

在 phpmyadmin MySQL 上,我得到以下结果 2 行中的结果。

如有任何帮助,我们将不胜感激......这让我很头疼,而且我确信它是微不足道的

最佳答案

尝试将 ` 替换为 '。过去我遇到过这种差异的一些问题,我想更换它们可以解决问题。 :)

关于即使查询在 mysql admin 中有效,JAVA MYSQL 准备好的语句也会给出空结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27298939/

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