2012-01-03 62 views
1

我有問題的批量插入的文件。我保存多個記錄在GWT從服務器端助手類的MySQL數據庫。在該助手類中,我有方法保存多個記錄的報告對象,它是我的域class.Lets見下文批量插入的文件字段

while (iterator.hasNext()) { 
    Report report = (Report) iterator.next(); 
    preparedStatment.setString(1, report.getTitle()); 
    preparedStatment.setString(2, report.getReportAbstract()); 
    preparedStatment.setString(3, report.getUrl()); 
    preparedStatment.setDate(4,(java.sql.Date) report.getPublishDate()); 
    preparedStatment.setString(5, report.getAuthor()); 
    preparedStatment.setString(6, report.getPublisher()); 
    preparedStatment.setDouble(7, report.getPrice()); 
    preparedStatment.setString(8, report.getCurrency()); 
    preparedStatment.setBoolean(9, report.isPurchase()); 
    **preparedStatment.setBinaryStream(10, inpStream,(int)inputFile.length());** 
    preparedStatment.setString(11, report.getMimeType()); 
    preparedStatment.setBoolean(12, report.isDownload()); 
    preparedStatment.setLong(13, report.getReportSource()); 
    preparedStatment.setDate(14, new java.sql.Date(date.getTime())); 
    preparedStatment.setBoolean(15, report.isDeleted()); 
    preparedStatment.addBatch(); 
}  
int[] updateCounts = preparedStatment.executeBatch(); 
connection.commit(); 

代碼段在上面的代碼,在粗體線,用於發送文件insert.I循環和插入逐個record.but它僅插入文件在數據庫中的第一個記錄和剩餘的記錄,該字段爲空,即沒有文件插入,但所有字段都正確插入。我堅持在這裏爲所有記錄插入文件字段。 任何人都可以幫助我嗎?

+0

你可以讓你的問題清楚一點..你是什麼意思**,但它只在數據庫中插入一個記錄的一個記錄,但所有的字段都被正確插入** ?? – Arung 2012-01-03 11:42:40

+0

但它只在數據庫中插入第一條記錄的文件,而對於剩餘的記錄,該字段爲空,即沒有文件插入但所有字段都正確插入。 – 2012-01-03 13:52:13

回答

0

我不知道你的完整代碼。你可以試試下面的代碼,

File TryFile = new File("yourFileName.txt"); 
int TryFileLength = (int) TryFile.length(); 
InputStream TryStream = (InputStream) new FileInputStream(TryFile); 

,然後在迭代器只是把下面的代碼作爲一個靜態和讓我們看看。如果它工作正常,那麼只用pbm代碼。檢查迭代器之前的代碼。

preparedStatment.setBinaryStream(10,TryStream,TryFileLength);

糾正我,如果我錯了..

0

我插入多個記錄,因此在數據庫。例如僅第一條記錄是文件中插入相同的文件,如果我想插入5紀錄批量插入然後我需要提供5個不同的文件,因爲我們需要在FileIputStream構造函數中傳遞每個文件實例。當我調試它,並檢查FileIputStream對象,然後在沒有看到一些ID。和FD =一些沒有。 present.I觀察到,如果這個ID和那個FD有不同的值,每個文件然後每個文件的特定記錄正確插入批量插入。感謝您的上述重播..如果我在技術上錯誤正確的我...