【发布时间】:2019-05-04 20:45:43
【问题描述】:
因此,对于一个学校项目,我正在构建一个不和谐机器人。我内置的功能之一是他可以从 MySQL 数据库中检索 gif 链接,并在消息中发送它们。现在,我的问题是我只能从我的数据库中检索一条记录,而没有其他记录。如果我将使用的查询放入 MySQL 工作台并运行它,它将检索这些记录。
这是获取gif的方法
public static ArrayList<Gif> GetGifsFromDB(String msg){
ArrayList<Gif> gifs = new ArrayList<>();
try(Connection conn = (Connection)DriverManager.getConnection(url, userName, password)){
Class.forName("com.mysql.jdbc.Driver").newInstance();
Statement stmnt = conn.createStatement();
String sql = "Select * from gif WHERE Type = '" + msg + "'";
stmnt.execute(sql);
try(ResultSet rs = stmnt.getResultSet()){
while(rs.next()){
Gif g = new Gif();
g.setID(rs.getInt("GifID"));
g.setURL(rs.getString("GifURL"));
System.out.println(g.getID() + g.getURL());
gifs.add(g);
}
rs.close();
conn.close();
}
}
catch(SQLException ex){
System.err.println(ex.getMessage());
}
catch(Exception ex){
System.err.println(ex.getMessage());
}
return gifs;
}
数据库中的“类型”只是一个类别。根据我那里的测试数据,这3种类型是没有,惊讶和孤独。只有 no 返回一个 gif。
【问题讨论】:
-
如果直接在数据库上执行最终的
sql查询会得到什么? -
如果我直接运行它,它会返回我试图取回的记录