Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Too many values, хотя столбцов столько же


Автор: darkvivi 12.11.2013, 22:02
 Всем доброго времени суток! Столкнулся с очень странной проблемой: 
java.sql.SQLException: ORA-00913: too many values

    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:891)
    at TaskLot.TestFrame.superadd(TestFrame.java:2938)
    at TaskLot.TestFrame$6.actionPerformed(TestFrame.java:597)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

Ошибка связана со следующим кодом:


Код

    String Areainsert = "INSERT INTO AREADATA (ID, ANNOUNCE, COMMENT1, COMMENT2, COMMENT3, COMMENT4, COMMENT5, COMMENT6, COMMENT7, COMMENT8, COMMENT9) VALUES ('"
                        + iMega + "','" + Announce.getText()
                        + "', '" + Comments1.getText() + "', '"
                        + Comments2.getText() + "', '" + Comments3.getText()
                        + "', '" + Comments4.getText() +  "', '" + Comments5.getText() + "', '" + 
                        "', '" + Comments6.getText() + "', '" + Comments7.getText() + "', '" + 
                        Comments8.getText() + "', '" + Comments9.getText()+ 
                        "')";
                stmt.executeUpdate(Areainsert);

 Много раз проверял, чтобы столбцов в базе данных и в коде было одинаковым...интересно, с чем же тогда проблема и почему не работает код? :(  smile 
 Всем спасибо smile 

Автор: bars80080 12.11.2013, 22:04
почему бы не сделать print для Areainsert и увидеть, что на самом деле скрывает запрос?

Автор: darkvivi 12.11.2013, 22:05
 Оказывается, столбцов в Value больше... 

Автор: Zloxa 12.11.2013, 23:16
Надо будет этот топик показать LSD как пример того, к чему провоцирует Java  smile

Добавлено через 13 минут и 55 секунд
darkvivi, знаете этот анекдот?

Цитата

«„Вы действительно назвали своего сынаhttp://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%8A%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_SQL ?” — „А, да. Дома мы его зовем Робин-брось-таблицу”»

Автор: LSD 13.11.2013, 09:42
Цитата(Zloxa @  13.11.2013,  00:16 Найти цитируемый пост)
Надо будет этот топик показать LSD как пример того, к чему провоцирует Java 

Судя по стилю именования переменных, это или до диез или дельфя smile 

Автор: Zloxa 13.11.2013, 09:49
Цитата(LSD @ 13.11.2013,  10:42)
Цитата(Zloxa @  13.11.2013,  00:16 Найти цитируемый пост)
Надо будет этот топик показать LSD как пример того, к чему провоцирует Java 

Судя по стилю именования переменных, это или до диез или дельфя smile

А если посмотреть на стек вызова в эксепшне, о чем можно рассудить? smile 

Автор: LSD 13.11.2013, 09:53
Цитата(Zloxa @  13.11.2013,  10:49 Найти цитируемый пост)
А коллстек чей?

Я имел в виду, что человек перешел на Java с C# или Delphi. Цатата была про "провоцирует", а не этот конкретный случай.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)