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 resultSet をトラバースしている間に for each マッチを実行できます。

于 2013-06-06T17:05:56.010 に答える