使用校验和检查数据库中是否存在所选文件

时间:2018-04-05 12:05:57

标签: java sql-server

我使用校验和检查选择的文件是否已插入数据库 插入工作正常,但我无法检查这是否存在。

我正在使用这样的代码:

[["1","2" ],["1","3","4"],["3","1"]]

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)没有,但最重要的是它有效。