Помогите с базой



  • Создал базу (встроенная в BAS) поместил 23 000 строк, создал ресурс тип база, в скрипте: ресурс в список, через foreach обрабатываю список- обрабатывается 10 000 строк, а как подгрузить оставшиеся 13 000 строк? Через модуль база- получить записи по критерию так же получает 10 000 строк после обработки через foreach, остальное не подгружает, что я делаю не так???? Помогите пожалуйста!!! 2-й день бьюсь, форум до дыр зачитал. Базу и скрипт прилагаю.Database.25710.rar



  • @ROMEOinLOVE А зачем вы делаете "ресурс в список" ? Получайте по одному элементу и все будет подгружаться. А если вам нужны все строки сразу тогда ресурс не нужен, просто получайте строки из базы запросом



  • @UserTrue Если получаю строки из базы запросом и обрабатываю через foreach все так же 10000 и остальное не подгружает((( вот пример: baza.xml



  • @ROMEOinLOVE said in Помогите с базой:

    @UserTrue Если получаю строки из базы запросом и обрабатываю через foreach все так же 10000 и остальное не подгружает((( вот пример: baza.xml

    Вы можете настраивать сколько получать записей за раз, а также перемещаться по ним через номер страницы
    2020-06-24_123332.png



  • @UserTrue Это я знаю, просто на форуме читал что на автомате должно подгружать. Вот и не пойму почему не подгружает.



  • @ROMEOinLOVE На автомате это если вы получаете записи через ресурс вот так например,
    2020-06-24_123755.png



  • @UserTrue Но ведь если я поставлю notreuse в foreach то тогда скрипт возьмет только одну строку и обработает ее по буквам



  • @ROMEOinLOVE said in Помогите с базой:

    @UserTrue Но ведь если я поставлю notreuse в foreach то тогда скрипт возьмет только одну строку и обработает ее по буквам

    А вы не ставьте строку в foreach )



  • @UserTrue )))) вот и не понятно как через ресурс- тип база получить сразу все строки, и обработать их в foreach!)))



  • @ROMEOinLOVE Да хоть как можно, можно не в foeach , а просто while, тогда он сам остановится когда закончится ресурс. Можно for предварительно запросив число строк в базе, но с for в многопотоке будет проблема. Можно и правильней всего судя по вашему примеру получать обычным запросом к БД. Вы же написали, что вам все понятно, но мне кажется это не так ))



  • @UserTrue меня смутил только один момент: на форуме читал что должно на автомате подгружать строки из базы если база более 10 000 строк, через ресурс я так понял подгружает только если брать по одной строке, если все сразу то не подгрузит(((



  • @UserTrue Хм.. а если получить через запрос к базе, получить записи по критерию то он все равно на автомате не подгружает



  • @ROMEOinLOVE said in Помогите с базой:

    @UserTrue Хм.. а если получить через запрос к базе, получить записи по критерию то он все равно на автомате не подгружает

    @UserTrue said in Помогите с базой:

    @ROMEOinLOVE said in Помогите с базой:

    @UserTrue Если получаю строки из базы запросом и обрабатываю через foreach все так же 10000 и остальное не подгружает((( вот пример: baza.xml

    Вы можете настраивать сколько получать записей за раз, а также перемещаться по ним через номер страницы
    2020-06-24_123332.png



  • @UserTrue я про автоматическую подгрузку про которую пишут на форуме!)))



  • @ROMEOinLOVE said in Помогите с базой:

    @UserTrue я про автоматическую подгрузку про которую пишут на форуме!)))

    Я вам уже сто раз написал, когда она работает! Перечитайте, мне надоело писать одно да потому.



  • @UserTrue Понял! Благодарю!



  • @UserTrue said in Помогите с базой:

    но с for в многопотоке будет проблема.

    А можно подробнее, почему с будет проблема ?



  • @Bigma said in Помогите с базой:

    А можно подробнее, почему с будет проблема ?

    Потому, что в многопотоке другие потоки тоже будут брать элементы из ресурсы и поэтому нельзя полагаться на количество элементов в ресурсе.Но по сути это не чтобы проблема, просто в нем нет смысла, он скорей всего просто стопнется когда ресурс закончится, аналогично как если бы это был просто while.


Log in to reply
 

  • 5
  • 14
  • 2
  • 2
  • 2
  • 11
  • 2
  • 3