2013-12-04 5 views
-1

Мне нужно вставить ArrayList в Oracle XE. Вот что я вспотел:Java ArrayList <> вставить в Oracle DB

ArrayList <Double> array = new ArrayList<Double>(); 
    array.add(10.2); 
    array.add(11.2); 
    array.add(12.2); 
    array.add(1.2); 
    array.add(10.2); 
    array.add(10.2); 
    array.add(10.2); 


    Connection dbConnection = null; 
    Statement statement = null; 
    ResultSet rows = null; 
    Iterator<Double> it=array.iterator(); 

    String insertTableSQL = "INSERT INTO RVALUES VALUES("; 


    for(int i=0;i<array.size();){ 

     it.next(); 
     i++; 
    } 
    insertTableSQL +=")"; 

    String selectTableSQL = "Select * from RVALUES"; 

    try { 
     dbConnection = getDBConnection(); 
     statement = dbConnection.createStatement(); 

     System.out.println(insertTableSQL); 

     rows = statement.executeQuery(selectTableSQL); 

     while(rows.next()){ 
      System.out.print(rows.getInt(1)+"\t"); 
      System.out.println(rows.getInt(2)); 
     } 

     statement.executeUpdate(insertTableSQL); 

     System.out.println("Record is inserted into DBUSER table!"); 

В нем говорится: «ORA-00936: недостающее выражение». Я делаю это так долго ... что я потерян. Любая помощь по этому поводу будет очень оценена.

+0

«ВСТАВИТЬ В ЗНАЧЕНИЯ ЗНАЧЕНИЙ ЗНАЧЕНИЙ» ---> Недействительный синтаксис. Удалите VALUE. – kosa

+0

Вы должны изучить [основы SQL] (http://www.w3schools.com/sql/). – Sajmon

+0

Спасибо, но это не решает проблему. –

ответ

0

Не делайте этого.

Создайте PreparedStatement и сделайте пакетное обновление.

Это будет быстрее и безопаснее.

0

@Christian Kuetbach, спасибо большое за ссылку. Это было полезно.

Проблема решена.

P.S. У меня есть идея, что и как SLQ. Это был простой пример, который будет использоваться в более сложном проекте! Во всяком случае, хороший день для всех :-)

 Смежные вопросы

  • Нет связанных вопросов^_^