将字节数组插入blob列
我正在尝试将字节数组插入sqlite数据库中的blob列。 我已尝试使用setBinaryStream和setBytes,但我没有通过SQLite JDBC驱动程序exception实现。 我正在使用sqlite-jdbc-3.8.7.jar。我应该用什么jar来实现这项工作? 谢谢!
这是我的代码:
public void addDriverData(String prenume,String nume,String telefon,String email,String permis,String parola,byte[] photo) throws SQLException { String sql = "INSERT INTO driver(first_name,last_name,phone,email,permit,password,photo)VALUES(?,?,?,?,?,?,?)"; PreparedStatement stm = c.prepareStatement(sql); stm.setString(1,prenume); stm.setString(2,nume); stm.setString(3,telefon); stm.setString(4,email); stm.setString(5,permis); stm.setString(6, parola); //stm.setBinaryStream(7,new ByteArrayInputStream(photo),photo.length); stm.setBytes(7, photo); System.out.println(sql); stm.executeUpdate(sql); stm.close(); c.commit(); }
一旦创建了PreparedStatement
对象
String sql = "INSERT INTO ..."; PreparedStatement stm = c.prepareStatement(sql);
该对象已经处理了sql
命令文本。 当需要执行PreparedStatement时,我们需要做的就是
stm.executeUpdate();
(方法调用executeUpdate(sql)
旨在与Statement
对象一起使用,而不是与PreparedStatement
对象一起使用。)