将字节数组插入 blob 列
inserting byte array into blob column
我正在尝试将字节数组插入到 sqlite 数据库的 blob 列中。我已经尝试使用 setBinaryStream 和 setBytes,但我没有通过 SQLite JDBC 驱动程序异常实现。我正在使用 sqlite-jdbc-3.8.7.jar.What 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
个对象。)
我正在尝试将字节数组插入到 sqlite 数据库的 blob 列中。我已经尝试使用 setBinaryStream 和 setBytes,但我没有通过 SQLite JDBC 驱动程序异常实现。我正在使用 sqlite-jdbc-3.8.7.jar.What 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
个对象。)