用于更新文档文件和照片的SQL Update语句 - varbinary(max)

时间:2015-05-23 02:41:56

标签: java sql-server sql-update implicit-conversion varbinarymax

我写了一个SQL UPDATE语句来将文档文件和照片存储更新为数据库中的varbinary(max)。起初我得到一个错误说 不允许从数据类型varchar到varbinary(max)的隐式转换。使用CONVERT函数运行此查询

所以我改变了代码,就这样做了。

 try {
                 //SET Varbinary_Col = CAST(Varbinary_Content as VARBINARY)
               query = "UPDATE tourClient SET DocumentFile= CONVERT(varbinary(max),'"+docFile+"'),Photo= CONVERT(varbinary(max),'"+person_image+"') WHERE Name= '" + combo_client.getSelectedItem() + "' ";
                PreparedStatement stm = db.getconn().prepareStatement(query);
                int val = stm.executeUpdate();

                if (val > 0) {
                    JOptionPane.showMessageDialog(null, "Uploaded successfully!!!");
                    rs.next();
                }
                db.getconn().close();
            } catch (Exception e) {
                System.out.println(e);
            }

在netbeans中运行上述查询后,我收到Joption消息说成功上传。我在netbeans中有另一个jframe,它有一个查询SELECTS所有文档文件,Images并在jtable中显示它。当我单击jtable中的一行时,图像显示在标签中并且文档被打开但是当我尝试打开它时,它表示文件已损坏,而且对于图像,它不显示我上传的png。

我是否正确撰写了声明?我还有什么需要改变吗?

0 个答案:

没有答案