2012-12-28 38 views
0

請參閱下面的代碼。如何從記錄列表中插入數據庫?

private void printToConsole(List cellDataList) { 
    for (int i = 1; i < cellDataList.size(); i++) { 
     List cellTempList = (List) cellDataList.get(i); 
     System.out.println(cellTempList); 
    } 
} 

如何從上面的代碼中將數據插入到數據庫中。

String sql2 = "INSERT INTO Daily_Report (field1,field2,field3,field4,field5,field6,field7,field8,field9,field10,field11,field12,field13,field14) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 
         preparedstatement = con3.prepareStatement(sql2); 
         //Statement stmt = con3.createStatement(); 
         System.out.println("1"); 
         preparedstatement.setString(1, field1); 
         preparedstatement.setString(2, field2); 
         preparedstatement.setString(3, field3); 
         preparedstatement.setString(4, field4); 
         preparedstatement.setString(5, field5); 
         preparedstatement.setString(6, field6); 
         preparedstatement.setString(7, field7); 
         preparedstatement.setString(8, field8); 
         preparedstatement.setString(9, field9); 
         preparedstatement.setString(10, field10); 
         preparedstatement.setString(11, field11); 
         preparedstatement.setString(12, field12); 
         preparedstatement.setString(13, field13); 
         preparedstatement.setString(14, field14); 
         preparedstatement.executeUpdate(); 

能否請您指教...

+0

你想知道要放什麼東西來代替字段1等列表?什麼是您的名單類型? – cavila

+0

你想爲每個cellTempList執行插入查詢嗎? –

+0

它的數組list.I具有14列的表,就像excel表中的任何東西一樣。不需要插入每個單元格值或批量更新。不管它對我有什麼好處... – user441978

回答

0

寫下這個;

for (int i = 0; i < cellDataList.size(); i++){ 
      stmt.executeUpdate ((String) cellDataList.get (i)); 
    } 
+0

如何傳遞值來插入查詢? – user441978

+0

@ user441978首先,您需要創建包裝類,例如包含14個字段(field1,field2,...,field14)的CellData類,然後循環執行此操作。 –

0

像?

for (int i = 0; i < rowDataList.size() && i <14; i++) { 
    preparedstatement.setString(i+1, rowDataList.get(i));   
} 
for (int i = rowDataList.size()+1; i <=14; i++) { 
    preparedstatement.setString(i+1, "");   
} 
preparedstatement.executeUpdate(); 
+0

如何傳遞值來插入查詢? – user441978

+0

rowDataList是特定行的值列表。代碼片段會將值插入到db插入語句中。最好的方法是嘗試一下並嘗試修復任何錯誤。 – BevynQ

0
String sql2 = "INSERT INTO Daily_Report (field1,field2,field3,field4,field5,field6,field7,field8,field9,field10,field11,field12,field13,field14) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 
preparedstatement = con3.prepareStatement(sql2); 

for (int i = 1; i < cellDataList.size(); i++) { 
     List cellTempList = (List) cellDataList.get(i); 
     for (int i = 0; i <14; i++) { 
      preparedstatement.setString(i+1, cellTempList.size() > i ? cellTempList.get(i) : "");   
     } 
} 

假設:

  1. cellDataList是您正在閱讀的Excel的所有行的列表。
  2. cellTempList是代表一行內容