gpt4 book ai didi

java jdbc连接-结果集输出问题

转载 作者:行者123 更新时间:2023-12-02 07:45:50 24 4
gpt4 key购买 nike

我目前正在尝试实现一个 jdbc 连接,当我“搜索”与“%input%”输入匹配的任何内容时,该连接会返回表中的所有数据。

eg ResultSet rs4 = stm4.executeQuery("从 image_data 中选择 imageTime,其中 imageName 像 '%"+ value3 + "%' 或 imageTime 像 '%"+ value3 + "%' 或 imageLocation 像 '"+ value3 + "'");

我正在尝试将结果集中的所有行作为搜索结果返回。但是如果我在没有更多行可以访问时命令 Resultset.next导致以下结果集全部为 null,....

如果有什么喜欢输出整个结果集的方法,谢谢。

编辑编辑问题:更直接;我需要一种方法来获取结果集每个包含列中每一行的每条数据。所以我可以输出它。这是我在下面的尝试。

rs4 = 如下声明的结果集。

这是我的代码;

if(name_time_location == 1)
{
String value3=searchInput.getText();//Sets the search Input as value3


// selecting the cominbation from table, that match input options
try{
con = DriverManager.getConnection("jdbc:mysql:blah blah");

// Query the database for the correct username and passord
Statement stm3 = con.createStatement();
Statement stm4 = con.createStatement();
Statement stm5 = con.createStatement();


//queries database for password from input username
ResultSet rs3 = stm3.executeQuery("select imageName from image_data where imageName like '%" + value3 + "%' or imageTime like '%" + value3 + "%' or imageLocation like '" + value3 + "'" );
//ResultSetMetaData rsmd = rs3.getMetaData();
//stm3.setFetchSize(5);
//rs3.last();
//int numberOfRows = rs3.getRow();


//String[] resultList;
//resultList = new String[numberOfRows];
// Fetch each row from the result set
rs3.beforeFirst();
while(rs3.next())
{
imageSearchResult1 = rs3.getString(1);
rs3.next();
imageSearchResult11 = rs4.getString(1);
rs3.next();
imageSearchResult12 = rs4.getString(1);
rs3.next();
imageSearchResult13 = rs4.getString(1);
rs3.next();
imageSearchResult14 = rs4.getString(1);
}rs3.close();

}catch (Exception e)
{
//System.out.println("Exception: " + e + "");
}

System.out.println("Search Results: \nName: " + imageSearchResult1 + " Time stamp: " + imageSearchResult2 + " Location: " + imageSearchResult3 + "\n" +
"Name: " + imageSearchResult11 + " Time stamp: " + imageSearchResult21 + " Location: " + imageSearchResult31 + "\n" +
"Name: " + imageSearchResult12 + " Time stamp: " + imageSearchResult22 + " Location: " + imageSearchResult32 + "\n" +
"Name: " + imageSearchResult13 + " Time stamp: " + imageSearchResult23 + " Location: " + imageSearchResult33 + "\n" +
"Name: " + imageSearchResult14 + " Time stamp: " + imageSearchResult24 + " Location: " + imageSearchResult34 + "\n" );

最佳答案

我认为您可以通过修改查询来实现相同的目的,而不是创建 3 个查询,而是在同一查询中获取 3 个值,如下所示:

select imageName,imageLocation,imageTime from .....

然后使用此查询生成 ResultSet 并获取三个值:rs.getType(1)、rs.getType(2)、rs.getType(3)

在同一个 while(rs.next()) 循环中,您可以打印您想要打印的数据。

关于java jdbc连接-结果集输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878462/

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