вставьте картинку в базу данных (sqlite) с java-кодом. что мне делать?

в базе данных sqlite, я устанавливаю поле с напечатанным полем. то, я написал java-код:

PreparedStatement preStmt = con.prepareStatement("INSERT INTO zz(pic) VALUES(?)"); preStmt.setBinaryStream(1, new FileInputStream(file), file.length()); 

я получил исключение:

 java.lang.AbstractMethodError: org.sqlite.PrepStmt.setBinaryStream(ILjava/io/InputStream;J)V 

любое предложение ?

Или, какой код я должен написать, если я хочу использовать двоичное число save в sqlite?

У меня был хороший успех с qlite jdbc dirver от xerial.org: http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC

Реализация SQLite JDBC от Xerial имеет PreparedStatement.setBytes (index, byte []). Вы должны получить массив байтов из вашего FileInputStream, используя код по следующей ссылке: http://www.java-tips.org/java-se-tips/java.io/reading-a-file-into- а-байт-array.html

Когда вы храните вещи как Blobs, будьте осторожны в следующих проблемах: http://effbot.org/zone/sqlite-blob.htm

Надеюсь, это поможет.

для -Alex-

Документация API AbstractMethodError сообщает следующее:

Брошено, когда приложение пытается вызвать абстрактный метод. Обычно эта ошибка улавливается компилятором; эта ошибка может возникнуть только во время выполнения, если определение какого-либо класса несовместимо изменилось с тех пор, как последний исполняемый метод был скомпилирован.

По-видимому, у вас есть более старая версия драйвера JDBC, блуждающего по пути к классам, или ваш драйвер JDBC необходимо обновить, чтобы он соответствовал API JDBC в используемой версии JRE. Вы можете получить последнюю версию на домашней странице Sqlite.