WedX - журнал о программировании и компьютерных науках

Как сохранить набор результатов из инструкции sql в двух разных переменных и использовать?

Я хочу хранить набор результатов в двух разных местах отдельно и использовать отдельно. Возможно ли это?

public void demo(){
    /* Result set got from the corpusSentenceRetrive method */
    ResultSet rsNew=corpusSentenceRetrive(wordAll);
    ArrayList<String> resultSetStore= new ArrayList<String>();

    for(int i=0;i<2;i++){
    resultSetStore.add(i,rsNew);
    }

    method1(resultSetStore.get(0));
    method2(resultSetStore(1));
}

public void method1(ResultSet rst){
    ResultSet rs = rst;
    while (rs.next()) {....}
}

public void method2(ResultSet rst){
    ResultSet rs = rst;
    while (rs.next()) {....}
}

Почему это не работает? Как отдельно выполнить два метода? Из-за одного метода выполнения оператора while. Я не мог использовать другой метод. Это дает 0 результирующих наборов. Как я могу решить это самым простым способом?

27.11.2014

  • Какое отношение к вашему вопросу имеет тег MySQL? 27.11.2014
  • Взгляните на этот stackoverflow.com/questions/15517736/ 27.11.2014
  • @Anarki На самом деле я не хочу хранить значения набора результатов. Я хочу добавить содержимое всего набора результатов в два места. Потому что я хочу выполнить два метода отдельно. 27.11.2014
  • @Maduri, вы имеете в виду, что хотите передать один и тот же набор результатов двумя методами? 27.11.2014
  • @MiyaG Да, это так. Но я не знаю как. 27.11.2014

Ответы:


1

ResultSet содержит внутренний курсор места, из которого вы читаете. Поэтому, когда первый метод вызывается и завершается, курсор находится в конце доступных результатов. Поэтому, когда вызывается второй метод, нет результатов для проверки. Прежде чем использовать результаты в любом методе, вы можете вызвать ResultSet.beforeFirst(), чтобы убедиться, что курсор находится в нужном месте, прежде чем использовать его.

27.11.2014
  • Ваш гений. Вы решили мою большую проблему и драгоценное время. Спасибо снова и снова. Хорошего дня :) . 27.11.2014

  • 2

    Поскольку нет стандартного способа дублировать ResultSet со значениями db, поэтому вам нужно хранить данные где-то еще. Большинство реализаций ResultSet не хранят в нем все результаты, а просто сохраняют соединение с базой данных, используемой для получения результатов по мере необходимости. Поэтому, пожалуйста, используйте два разных набора результатов или сохраните все данные набора результатов в любой другой структуре данных, например. Список/карта и т. д. для выполнения вышеуказанной задачи по вашему запросу.

    Таким образом, вы не можете использовать один и тот же набор результатов дважды.

    27.11.2014
    Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]