2011-02-24 74 views
2

我想在使用java的MySQL中存儲MediumBlob數據。但我沒有成功檢索數據。Java:如何在MySQL中存儲MediumBlob

要保存我使用的是:

PreparedStatement = stmt conn.prepareStatement("UPDATE INTO table VALUE(?)"); 
ByteArrayInputStream bais = new ByteArrayInputStream(data); 
stmt.setBinaryStream(position, bais, data.length); 

有correcty?

+0

它是否正確地進入數據庫?當你說你沒有成功檢索數據你是什麼意思? – jzd 2011-02-24 14:38:50

+0

你嘗試過[setBlob()](http://download.oracle.com/javase/1.4.2/docs/api/java/sql/PreparedStatement.html)而不是setbinaryStream()嗎? – 2011-02-24 14:45:04

+0

使用setBlob()當我調用stmt.update()發生異常@) – Victor 2011-02-24 14:55:03

回答

1

我修好了!!!!

問題出在我檢索數據的時候。我打電話:

ResultSet.getClob 

但我應該叫:

ResultSet.getBinaryStream 

我已經使用的setBinaryStream輸入數據!

這令人困惑,因爲我有一個Clob字段,而且我期待在Java代碼中檢索Clob字段!