Идентификатор заказа с использованием заказа в UCanAccess - PullRequest
0 голосов
/ 21 октября 2019

Я использую ucanaccess, чтобы связать мою базу данных с моим кодом, но всякий раз, когда я запускаю ее, она не работает так, как я намереваюсь, если она вообще работает. Я просто хочу изменить первичный ключ (ID) в числовом порядке, используя ORDER BY ID ;. Когда я редактирую базу данных, она не переупорядочивается, когда я запускаю метод, она просто перемещает отредактированный идентификатор вниз и упорядочивает их там. Я также смущен, если я должен использовать сортировку массива, чтобы реорганизовать всю таблицу? Любая помощь приветствуется. Это запускается всякий раз, когда я пытаюсь редактировать таблицу в графическом интерфейсе.

Исходный код Google Drive

public void reorder()
{


for(int i = 0 ; i < size - 1;i++)
{        
    for(int j = i+1 ; j< size;j++)
    {
        if(launch[i].getID() > launch[j].getID())
        {
            Launch temp = launch[i];
            launch[i] = launch[j];
            launch[j] = temp;
            System.out.println(launch[i]);                
        }
    }
}
}
public void orderByID()
{                   
    String sql = "SELECT * FROM LaunchPriceList ORDER BY ID DESC"; 
    try
    {          
      dbman.updateQuery(sql);
      //reorder();
    }
    catch(SQLException e)
    {
        System.out.println("Error Order by: " + e);
    }
}

1 Ответ

0 голосов
/ 22 октября 2019

Я не могу получить доступ к вашему коду (независимо от ограничений по ч / б). Сказав, что ...

Вы можете начать с создания пользовательской реализации TableModel , расширив AbstractTableModel

Приступая к заполнению TableModel,вы начинаете с перебора набора результатов и создания TreeSet с настраиваемым Comparator , который сравнивает атрибут ID.

по завершении вы можете создать таблицу с ранее заполненной моделью таблицы. Например,

JTable t = new JTable(model);

Обновление TableModel обновленными данными автоматически обновит таблицу.

...