我使用校验和检查选择的文件是否已插入数据库 插入工作正常,但我无法检查这是否存在。
我正在使用这样的代码:
[["1","2" ],["1","3","4"],["3","1"]]
答案 0 :(得分:0)
好吧,我尝试了没有PreparedStatement的原始解决方案,并且使用while循环并且它可以工作。
以下是代码:
try {
String fileName = fileopen.getSelectedFile().getName();
MessageDigest md5Digest = MessageDigest.getInstance("MD5");
String checksum = getFileChecksum(md5Digest, fileopen.getSelectedFile());
Statement prep = conn.createStatement();
ResultSet rs = prep.executeQuery("select top 1 Checksum from dbo.Table where Checksum = '" + checksum + "'");
if (rs.next()){
conn.rollback();
JOptionPane.showMessageDialog(null, "Already Exists", "ERROR", JOptionPane.ERROR_MESSAGE);
} else {
//Inserting
conn.commit();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e, "ERROR", JOptionPane.ERROR_MESSAGE);
}
我相信它可以与Autocommit一起使用。我仍然不知道为什么rs.next()
会返回结果,但rs.getString(1)
没有,但最重要的是它有效。