LINUX.ORG.RU

История изменений

Исправление comp00, (текущая версия) :

либо выставлять ему значение id=DEFAULT, тогда будет работать.

Да работает через INSERT. В общем, я вставляю так, что бы было более ясно:

          tmpModel.getCachRS().moveToInsertRow();
            for (int i = 0; i < newRecFrame.getTblModel().getColumnCount(); i++) {
                Object obj;
                obj = newRecFrame.getTblModel().getValueAt(0, i);
                tmpModel.getCachRS().updateObject(i + 1, obj);
            }

            tmpModel.getCachRS().insertRow();
            tmpModel.getCachRS().moveToCurrentRow();
            tmpModel.getCachRS().beforeFirst();
            CurrentBase.getBase().newConnect(CurrentBase.getBase().getConnect());
             CurrentBase.getBase().getConnect().setAutoCommit(false);
            tmpModel.getCachRS().acceptChanges(CurrentBase.getBase().getConnect()); //Тут эксепшен javax.sql.rowset.spi.SyncProviderException: conflicts while synchronizing
            tmpModel.getCachRS().commit();
            CurrentBase.getBase().getConnect().setAutoCommit(true);
Как видите, я напрямую нигде не использую запрос, за меня это должен делать jdbc. Но если на NULL полях obj=null (3я строка) не вызывает ошибок, то для ID летит эксепшен во время accept.

Исходная версия comp00, :

либо выставлять ему значение id=DEFAULT, тогда будет работать.

Да работает через INSERT. В общем, я вставляю так, что бы было более ясно:

          tmpModel.getCachRS().moveToInsertRow();
            for (int i = 0; i < newRecFrame.getTblModel().getColumnCount(); i++) {
                Object obj;
                obj = newRecFrame.getTblModel().getValueAt(0, i);
                System.out.println("ret = tmir.getValueAt(0, i)  " + obj);
                tmpModel.getCachRS().updateObject(i + 1, obj);
            }

            tmpModel.getCachRS().insertRow();
            tmpModel.getCachRS().moveToCurrentRow();
            tmpModel.getCachRS().beforeFirst();
            CurrentBase.getBase().newConnect(CurrentBase.getBase().getConnect());
             CurrentBase.getBase().getConnect().setAutoCommit(false);
            tmpModel.getCachRS().acceptChanges(CurrentBase.getBase().getConnect()); //Тут эксепшен javax.sql.rowset.spi.SyncProviderException: conflicts while synchronizing
            tmpModel.getCachRS().commit();
            CurrentBase.getBase().getConnect().setAutoCommit(true);
Как видите, я напрямую нигде не использую запрос, за меня это должен делать jdbc. Но если на NULL полях obj=null (3я строка) не вызывает ошибок, то для ID летит эксепшен во время accept.