java - 获取用户输入,然后存储在 resultSet 列表中

标签 java

我目前有以下代码,它是我的 Gui,用于我的主要 gui 的一部分图像搜索器,从我的角度来看,它的目标是获取用户输入,然后打印出用户输入并将用户输入添加到另一组中JTextFields,然后使用此输入在我的数据库中搜索匹配图像,用户不需要选择所有 3 个搜索条件,只需选择一个。我的问题是我需要有关如何将用户输入存储在结果集列表中,然后使用这些存储的信息来查询我的数据库的指导。

到目前为止,我已经尝试获取用户输入,但我不确定接下来需要做什么。

class DisplaySearch {
    // database URL                              

    static final String DATABASE_URL = "jdbc:mysql://localhost:3306/mysql";
    static final String USERNAME = "root";
    static final String PASSWORD = "root";

    // launch the application
    public static void Search(String imageName, String DateStamp, String imageTag) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        Connection connection = null; // manages connection
        Statement statement = null; // query statement
        ResultSet resultSet = null; // manages results

        // connect to database books and query database
        try {
            // establish connection to database
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            connection = DriverManager.getConnection(DATABASE_URL, USERNAME, PASSWORD);

            // create Statement for querying database
            statement = connection.createStatement();

            // query database                                        
            resultSet = statement.executeQuery(
                    "SELECT imageName, DateStamp, imageTag FROM images");

            // process query results   
            System.out.println("Search Criteria");
            while (resultSet.next()) { 
                // Position the cursor 
                imageName = resultSet.getString(0); 
                DateStamp= resultSet.getString(1); 
                imageTag = resultSet.getString(2); 
                System.out.println("datas : " + imageName + " " + DateStamp + " " + imageTag ); 
            //while (resultSet.next()) {
                if (imageName != "" || imageName != null) {
                    String Name = resultSet.getString(imageName);
                    System.out.print("Image Name: " + Name);
                    resultSet = statement.executeQuery("SELECT imageName, DateStamp, imageTag FROM images where imageName='"
                            + imageName + "'");
                }

                if (DateStamp != null) {
                    String Date = resultSet.getString(DateStamp);
                    System.out.print(", Date: " + Date);
                    resultSet = statement.executeQuery("SELECT imageName, DateStamp, imageTag FROM images where DateStamp='"
                            + DateStamp + "'");
                }

                if (imageTag != "" || imageTag != null) {
                    String Tag = resultSet.getString(imageTag);
                    System.out.print(", Tag: " + Tag);
                    resultSet = statement.executeQuery("SELECT imageName, DateStamp, imageTag FROM images where imageTag='"
                            + imageTag + "'");
                }
            } // end while
        } // end try
        catch (SQLException sqlException) {
            sqlException.printStackTrace();
        } // end catch                                                     
        finally // ensure resultSet, statement and connection are closed
        {
            try {
                resultSet.close();
                statement.close();
                connection.close();
            } // end try                                               
            catch (Exception exception) {
                exception.printStackTrace();
            } // end catch                                             
        } // end finally                                             
    }

最佳答案

为什么要将数据存储在 ResultSet 对象中?我认为这不是推荐的方式。 您可以使用一些变量来存储您的值并将它们与您的查询一起使用以将数据放入结果集中

关于java - 获取用户输入,然后存储在 resultSet 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19220039/

相关文章:

Java 继承错误 : Implicit Super Constructor is undefined

java - 我的图像在 eclipse 上运行时正确加载,但是当导出为 jar 并打开它时,根本没有图像

java - 删除文件并将其移动到java中的目录中

java - 使用android加速远程数据检索

java - 如何显示此自定义 View ?

java - JPA createStoredProcedureQuery 在使用 Hibernate 时抛出 "ORA-01000: maximum open cursors exceeded"

java - RESTful Web 服务的返回值,考虑空值

使用 WritableImage 的 JavaFX 透明光标

java - 具有自定义 ListView 的警报对话框

java - Axon 框架与 Atomikos?工作怎么样?