Сохранение нескольких изменений строк CachedRowset в базе данныхJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сохранение нескольких изменений строк CachedRowset в базе данных

Сообщение Anonymous »

Я пишу простую программу, которая обновляет записи в CachedRowset. По какой-то причине он сохранит только набор строк только с одной записью. Если набор строк содержит более одной записи, когда я перебираю записи и изменяю каждую из них в наборе кэшированных строк, эти изменения не будут применены в базе данных.
У меня нет проблем с получением данных из база данных. Когда я говорю «фундаментально», я имею в виду наличие большого количества пользователей в базе данных, набор строк должен быть отключен, иначе приложение полностью остановится. Я понимаю, что использование подготовленных операторов защищает от SQL-инъекций, но в этом приложении я единственный, кто использует программное обеспечение.
Приведенный ниже код берет идентификатор ссылки из главной таблицы и сохраняет его в внешний ключ в дочерней таблице. Причина кода заключается в том, что я создал комплексную систему производственного программного обеспечения и в то время не использовал столбец автоматического увеличения для поля Id. Вместо этого я использую символьные значения для поля Id. Теперь я меняю все это на автоматическое увеличение, но для этого мне нужно обновить все внешние ключи дочерних таблиц.
private void FillForeignKey(String strDeprecated_Id_Column, String strChild_Table_Name, String strChildForeignKey_Column,
Integer intNewMaster_Id, String strOldMaster_Id) throws SQLException {

try {
Connection connection = getConnection("jdbc:mysql://127.0.0.1:5222/jobtrack", "root", "");
//Select Master table with

String seqlChild = "SELECT " + strDeprecated_Id_Column + ", " + strChildForeignKey_Column +
" FROM " + strChild_Table_Name +
" Where " + strDeprecated_Id_Column +" = " + "'" + strOldMaster_Id + "'";
System.out.println(seqlChild);

Statement stChild = connection.createStatement();
ResultSet rsChild = stChild.executeQuery(seqlChild);
RowSetFactory factory = RowSetProvider.newFactory();
CachedRowSet crsetChild = factory.createCachedRowSet();
crsetChild.populate(rsChild);
rsChild.close();
//connection.close();
connection.setAutoCommit(false);

System.out.println("Child Rowset Size " + crsetChild.size());
System.out.println("New Id " + intNewMaster_Id);
System.out.println("Old Id " + strOldMaster_Id);

while (crsetChild.next()) {

crsetChild.updateInt(strChildForeignKey_Column, intNewMaster_Id);
crsetChild.moveToCurrentRow();
System.out.println("Data From child Rowset " + crsetChild.getInt(strChildForeignKey_Column));
crsetChild.updateRow();
crsetChild.acceptChanges(connection);
}

crsetChild.close();
//connection.close();

}catch (SQLException e) {
System.out.println(e.getMessage());

}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... o-database
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сохранение нескольких изменений строк CachedRowset в базе данных
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему Java CachedRowset.updateDate("date",null) и CachedRowset.updateNull("date") получает ошибку?
    Anonymous » » в форуме JAVA
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Сохранение изменений Ravendb заняло слишком много времени при вызове изменений
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • CachedRowSet медленнее, чем ResultSet?
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Java CachedRowSet.UpdateDate(null) всегда получает ошибку
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»