0

我在查询/比较数据库结果时遇到了一些问题。

我已经准备了一个 Java 程序(类Filename)来解析文件名和这些文件名,然后我正在对数据库进行查询,以查看数据库中是否已经存在具有这些文件名的条目。如果有,我可以输入一些值。如果没有,我必须将其记录为失败。

  1. 如何通过调用我从另一个 Java 文件生成的输出(已经从另一个 Java 程序输出)来查询所有文件名,而不仅仅是特定文件名?我的实现似乎是错误的。

  2. 我该怎么做才能在匹配时输入数据值?如果没有,将其标记为失败?


public static void main(String args[]) {

    PreparedStatement pst = null;
    Connection conn = null;
    ResultSet rs= null;

    try {
        conn = DBConnect.getTime().dbOracleConnect();
        String sql= "select * from PO_Parent_List"
                pst = conn.prepareStatement(sql);

        datasets = Class.Filename(output);
        pst.setString(1, datasets);

        rs = pst.executeQuery();
        System.out.println("...Statements...")

    } catch (Exception e) {
        System.out.println(e);
    }
}
4

1 回答 1

0

如果您从系统上的目录中获取它们,则需要执行类似获取文件列表的操作:

File folder = new File("your/path");

File[] listOfFiles = folder.listFiles();

然后遍历文件名并构建一个查询

SELECT * FROM PO_Parent_List WHERE file_name IN (<filename>, <filename>, etc...);

这将返回所有匹配的文件名。

对于问题 2,您可以UPDATE PO_Parent_List 在遍历结果集时为每个匹配项执行一次。

于 2013-06-06T17:05:56.010 回答