2017-03-07 16 views
-1

我有一個JSON陣列如下圖所示如何形成從JSON陣列中兩個SQL INSERT語句

[{ 
    "link_video": "123" 
}, { 
    "link_video": "456" 
}] 

通過解析我想創建兩個插入SQL作爲

Insert into mytable values (123,456); 
Insert into mytable values (456,123);. 

我已經開始如下所示,你能告訴我我怎麼能形成兩個sql

public class Testeee { 

    public static void main(String[] args) throws JSONException, SQLException { 

     String array = "[{\"link_video\":\"123\"},{\"link_video\":\"456\"}]"; 

     JSONArray array_jsn = new JSONArray(array); 

     PreparedStatement PstmtdeleteforLinkVideos = null; 
     Connection con; 

     String sql = "Insert into mytable values (?,?)"; 
     con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sonoo", 
       "root", "root"); 

     PstmtdeleteforLinkVideos = con.prepareStatement(sql); 
     for (int i = 0; i < array_jsn.length(); i++) { 
      String id = array_jsn.getJSONObject(i).getString("link_video"); 
      PstmtdeleteforLinkVideos.setInt(1,Integer.parseInt(id)); 

      PstmtdeleteforLinkVideos.addBatch(); 

     } 

     PstmtdeleteforLinkVideos.executeBatch(); 
    } 

} 
+0

它不工作?如果是的話,它在哪裏失敗? – XtremeBaumer

+0

我無法插入第二個值PstmtdeleteforLinkVideos.setInt(1,Integer.parseInt(id)); – Pawan

+0

你是什麼意思「不能插入」? – XtremeBaumer

回答

1

您的查詢是期待兩個值。但是您的代碼僅分配一個值。

您還必須設置參數索引2。

然後它會奏效。