我在查询/比较数据库结果方面遇到了一些问题。
我准备了一个Java程序(类Filename
)来解析文件名和那些文件名,然后我正在对数据库进行查询,以查看数据库中是否存在具有这些文件名的条目。如果有,我可以输入一些值。如果没有,我必须将其记录为失败。
如何通过调用查询所有文件名而不仅仅是特定文件名 我从另一个Java文件输出的输出(输出已经来自 另一个Java程序)?我的实施似乎不对。
我能做什么,以便在匹配时,我可以输入数据 值?如果没有,请将其标记为失败?
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);
}
}
答案 0 :(得分: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
。