我有一个用于存储excel文件的varbinary列。我需要使用当前在我的文件系统上的不同xls文件的内容来更新此列。
给定java.sql.Connection,我该如何更新行?
我们正在使用sql server 2005。
答案 0 :(得分:5)
我最终做了以下事情:
PreparedStatement st = conn.prepareStatement("update MyTable set binaryData = ? where id= 9");
st.setBinaryStream(1, new FileInputStream(file), (int)file.length());
st.execute();
答案 1 :(得分:2)
使用java.util.Connection和正确的SQL,你可以创建一个合适的java.sql.PreparedStatement(我不使用SQL Server,所以你最好自己编写SQL)。
您可以使用从xls文件中读取的字节数据创建java.sql.Blob。
在PreparedStatement上调用.setBlob(Blob),然后执行它。
我没有为你编写代码,但这应该是基础知识。
答案 2 :(得分:0)
将字节数组传递给BLOB字段。
答案 3 :(得分:-2)
在旧版本的Java中,您可以尝试
obj.setObject("@somefield", some_data);