powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Постраничный вывод, помогите доделать
25 сообщений из 39, страница 1 из 2
Постраничный вывод, помогите доделать
    #33427873
grin:..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот написал такую процедуру (ASE 12.5.3)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
CREATE PROCEDURE dbo.pager
    @sql_query          char( 300 ),
    @number_page        int,
    @rows_page          int
AS
    BEGIN

        declare @id                 numeric( 10 , 0 ),
                @count              int,
                @sql_query_t        char( 300 ),
                @start_p            int,
                @finish_p           int


        CREATE TABLE #table_1_page
        (
            id             numeric( 10 , 0 ) NOT NULL,
            sp_id          int           DEFAULT  0  NOT NULL,
            sd_id          int           DEFAULT  0  NOT NULL,
            status         tinyint       DEFAULT  0  NOT NULL,
            error_id       int           DEFAULT  0  NOT NULL,
            date           datetime      DEFAULT GETDATE() NOT NULL,
            pay_date       datetime      NULL,
            dealer_id      int           NOT NULL,
            dealer_main_id int           NOT NULL,
            terminal_id    int           NOT NULL,
            gateway_id     int           DEFAULT  0  NOT NULL,
            provider_id    int           NOT NULL,
            amount         numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            amount_cash    numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            comment        varchar( 256 )  NULL,
            count_send     int           DEFAULT  0  NOT NULL
        )
        
        CREATE TABLE #table_2_page
        (
            id             numeric( 10 , 0 ) NOT NULL,
            sp_id          int           DEFAULT  0  NOT NULL,
            sd_id          int           DEFAULT  0  NOT NULL,
            status         tinyint       DEFAULT  0  NOT NULL,
            error_id       int           DEFAULT  0  NOT NULL,
            date           datetime      DEFAULT GETDATE() NOT NULL,
            pay_date       datetime      NULL,
            dealer_id      int           NOT NULL,
            dealer_main_id int           NOT NULL,
            terminal_id    int           NOT NULL,
            gateway_id     int           DEFAULT  0  NOT NULL,
            provider_id    int           NOT NULL,
            amount         numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            amount_cash    numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            comment        varchar( 256 )  NULL,
            count_send     int           DEFAULT  0  NOT NULL
        )

        select @count       =  0 
        select @start_p     = (@number_page -  1 ) * @rows_page
        select @finish_p    = @number_page * @rows_page

        execute('insert into #table_1_page ' + @sql_query + '')

        declare tcursor cursor for select t.id from #table_1_page t
        open tcursor
        fetch tcursor into @id 

        while(@@sqlStatus= 0 )
        begin

            select @count = @count +  1 

            if (@count >= @start_p and @count <= @finish_p)
                begin
                    select @sql_query_t = 'insert into #table_2_page select * from #table_1_page t where t.id = ' + convert(char, @id) + ''
                    execute(@sql_query_t)
                end

                
            if (@count >= @finish_p)
                break

        fetch tcursor into @id 
        end
        close tcursor
        deallocate cursor tcursor

        
        select @sql_query_t = 'select * from #table_2_page '
        execute(@sql_query_t)        

        drop table #table_1_page
        drop table #table_2_page
    END

потом

Код: plaintext
1.
exec pager 'select * from pps_payments',  3 ,  100 

ну вроде как все работает, одно но, хочу универсальную процедурку, как видно по коду необходимо делать две темповые таблицы, как можно получить структуру данных из входящего запроса и по ним уже сделать CREATE TABLE?
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33427964
grin:..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше даже наверное вот так, что-то типа как LIMIT в mysql
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
CREATE PROCEDURE dbo.limit
    @sql_query          char( 300 ),
    @count_rows         int,
    @number_row         int
AS
    BEGIN

        declare @id                 numeric( 10 , 0 ),
                @count              int,
                @sql_query_t        char( 300 ),
                @start_p            int,
                @finish_p           int


        CREATE TABLE #table_1_page
        (
            id             numeric( 10 , 0 ) NOT NULL,
            sp_id          int           DEFAULT  0  NOT NULL,
            sd_id          int           DEFAULT  0  NOT NULL,
            status         tinyint       DEFAULT  0  NOT NULL,
            error_id       int           DEFAULT  0  NOT NULL,
            date           datetime      DEFAULT GETDATE() NOT NULL,
            pay_date       datetime      NULL,
            dealer_id      int           NOT NULL,
            dealer_main_id int           NOT NULL,
            terminal_id    int           NOT NULL,
            gateway_id     int           DEFAULT  0  NOT NULL,
            provider_id    int           NOT NULL,
            amount         numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            amount_cash    numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            comment        varchar( 256 )  NULL,
            count_send     int           DEFAULT  0  NOT NULL
        )
        
        CREATE TABLE #table_2_page
        (
            id             numeric( 10 , 0 ) NOT NULL,
            sp_id          int           DEFAULT  0  NOT NULL,
            sd_id          int           DEFAULT  0  NOT NULL,
            status         tinyint       DEFAULT  0  NOT NULL,
            error_id       int           DEFAULT  0  NOT NULL,
            date           datetime      DEFAULT GETDATE() NOT NULL,
            pay_date       datetime      NULL,
            dealer_id      int           NOT NULL,
            dealer_main_id int           NOT NULL,
            terminal_id    int           NOT NULL,
            gateway_id     int           DEFAULT  0  NOT NULL,
            provider_id    int           NOT NULL,
            amount         numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            amount_cash    numeric( 10 , 2 ) DEFAULT  0  NOT NULL,
            comment        varchar( 256 )  NULL,
            count_send     int           DEFAULT  0  NOT NULL
        )

        select @count       =  0 
        select @start_p     = @number_row -  1 
        select @finish_p    = (@number_row -  1 ) + @count_rows

        execute('insert into #table_1_page ' + @sql_query + '')

        declare tcursor cursor for select t.id from #table_1_page t
        open tcursor
        fetch tcursor into @id 

        while(@@sqlStatus= 0 )
        begin

            if (@count >= @start_p and @count <= @finish_p)
                begin
                    select @sql_query_t = 'insert into #table_2_page select * from #table_1_page t where t.id = ' + convert(char, @id) + ''
                    execute(@sql_query_t)
                end

                
            if (@count >= @finish_p)
                break

            select @count = @count +  1 

        fetch tcursor into @id 
        end
        close tcursor
        deallocate cursor tcursor

        
        select @sql_query_t = 'select * from #table_2_page '
        execute(@sql_query_t)        

        drop table #table_1_page
        drop table #table_2_page
    END

    exec limit 'select * from pps_payments order by date DESC',  50 ,  100 
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33428225
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если включены соответствующие опции (кажется select into/bulk copy), то должен работать запрос типа
Код: plaintext
select * into #temp from pps_payments

это автоматом создаст таблицу #temp
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33428271
grin:..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да я знаю что так возможно, но вот это будет выдавать ошибку
Код: plaintext
1.
2.
execute('select * into #table_1_page from table1')
declare tcursor cursor for select t.id from #table_1_page t
типа не найдена таблица #table_1_page t и все. Скорее всего когда создается темповая таблица через execute в самой процедуре ее будет не видно.

тем более это немного не подходит, у меня на входе запрос, он может быть сколь угодно каким большим, с джойнами и так далее, слишком сложно его будет распарсить и сделать из
select ЧТО-ТО from ЧТО-ТО
похожее на
select ЧТО-ТО into #table_1_page from ЧТО-ТО

хотя...
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33428673
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, не жалко вам сервака-то своего...
Пейджер на клиенте делать надо, или на сервере приложений (WEB).
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33429098
grin:..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вы думаете что на сервере приложений это будет быстрее работать? тем более базавоз хорошая 2-хпроцессорная машина, зачем ей просто так простаивать?
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33429381
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Затем что базе данных можно найти лучшее применение. А именно - обработка данных. А формирование представления данных - задача клиента.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33429601
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivДа, не жалко вам сервака-то своего...
Пейджер на клиенте делать надо, или на сервере приложений (WEB).

В принципе согласен, но есть одно "но". Если запрос выдает много строк, пользователь просматривает мало (а он всегда просматривает мало, если не строит аналитических отчетов), то сеть и сервер будут грузиться в основном обработкой и передачей ненужных данных. А если таких пользователей много, то возникнут проблемы.

Это довольно распространенная ситуация, например у нас в запрос могут попасть тысячи строк, и только 5-10 реально просматриваются пользователем, остальное мусор. А задать фильтр среднего менеджера заставить невозможно, он думает что ему нужно все и чем у больше информации тем лучше он увидит закономерности.

В этом случае ИМХО все-таки лучше на сервере.

Вопрос интересный, кто как поступает в этом случае?
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33429673
Andyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Это довольно распространенная ситуация, например у нас в запрос могут попасть тысячи строк, и только 5-10 реально просматриваются пользователем, остальное мусор. А задать фильтр среднего менеджера заставить невозможно, он думает что ему нужно все и чем у больше информации тем лучше он увидит закономерности.
Какая знакомая ситуация.

А еще бывает что нужно видеть 5-10-20 строк отобранных по определенным критериям и одновременно итоги по всем записям (что-то вроде: всего; из них таких-то столько-то, далее поименно) В этом случае разбивка на сервере не особо поможет, если только не считать в процедуре эти итоги отдельно.

По поводу "кто как поступает в таких случаях" - мы используем форму поиска, в которой пользователь может задавать произвольные ограничения на выборку, в понятных ему терминах. Если же не заданы никакие условия, то перед выполнением запроса выдается предупреждение, что выборка всех данных может занять длительное время. И если пользователь согласился с этим - пусть ждет. Хотя это не самый лучший вариант. Тем не менее, некоторые пользователи принципиально не хотят пользоваться поиском, предпочитая, искать в огромном списке, по старинке, "глазками".
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33430633
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Это довольно распространенная ситуация, например у нас в запрос могут попасть тысячи строк, и только 5-10 реально просматриваются пользователем, остальное мусор. А задать фильтр среднего менеджера заставить невозможно, он думает что ему нужно все и чем у больше информации тем лучше он увидит закономерности.


Это все лечится, правильным проектированием БД
и интерфейса и невозможностью генерации ad-hoc запросов менеджером.
На крайний случай делается жесткая отсечка наприм. по 1000 записей
с выдачей сообщения об ошибке или предупреждения , что показано не все,
сделайте критерий выборки более точным.

c127

В этом случае ИМХО все-таки лучше на сервере.



ЧЕМ лучше ? Вопрос риторический.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33431837
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Это все лечится, правильным проектированием БД
и интерфейса и невозможностью генерации ad-hoc запросов менеджером.


Согласен, этим лечится все, но вопрос как раз том, какое проектирование в этом случае называется правильным. Для меня вопрос актуальный, интересно мнение уважаемых специалистов.

MasterZiv
На крайний случай делается жесткая отсечка наприм. по 1000 записей
с выдачей сообщения об ошибке или предупреждения , что показано не все,
сделайте критерий выборки более точным.


А как в этом случае клиент будет заниматься прокруткой по всем записям, сортировкой и прочими прелестями, если он из 1млн получил только 1000. Насколько я понял Вы как раз агитировали передавать все на клиент и там разбираться с прокруткой (Да, не жалко вам сервака-то своего... Пейджер на клиенте делать надо, или на сервере приложений (WEB)), или я что-то недопонял?

MasterZiv
ЧЕМ лучше ? Вопрос риторический.

На этот вопрос Вы уже сами себе ответили на пару строчек выше.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33431871
panu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения,
сама идея, постраничного вывода, меня очень волнует в последнее время.
нелзя ли получить пояснения на предмет: использования пейджера. что это такое?
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432116
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panuпрошу прощения,
сама идея, постраничного вывода, меня очень волнует в последнее время.
нелзя ли получить пояснения на предмет: использования пейджера. что это такое?

Почему это так волнует? Делаете интерфейс для клиента?
И, объясните зачем делаете пэйджер?... Наверно чтобы просмотр таблицы на клиенте не жрал много серверных ресурсов?
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432147
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с127Согласен, этим лечится все, но вопрос как раз том, какое проектирование в этом случае называется правильным. Для меня вопрос актуальный, интересно мнение уважаемых специалистов.


Ну вот у нас было так (на примере актов сдачи работ)
Задача - показать акты сдачи работ на заданную дату.
Делалось так: Пользователь на юрлице нажимает пункт меню
"Акты сдачи работ по периодам".
Ему в дереве раскрываются периоды - 1-вый квартал, второй квартал,
и т.п. (для каждого года). Далее он раскрывает квартал - получает месяца,
и в каждом месяце - по неделям или по декадам (десять дней).
И вот только когда он выберет декаду или неделю, тогда ему за эту неделю
выдаются нужные документы. Последний период подбирается специально так, чтобы в нем документов было немного, не более 1000. А дальше они все сосуться на клиента и он с ними уже в гриде разбирается сам.

с127
А как в этом случае клиент будет заниматься прокруткой по всем записям, сортировкой и прочими прелестями, если он из 1млн получил только 1000.

Не, я ни в коем случае не против применения ограничивающих выборку
критериев. Наоборот, их надо применять. Но уж если тебе тупой пейджер
по выборке нужен, делать его на сервере не нужно и сложно (в реально многопользовательской среде надо сохранять выборку и затем уже ее
дергать из контекста коннекции, чтобы данные были непротиворечивые).
Так уж лучше засунуть это в сервер приложений.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432151
sybdba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panuпрошу прощения,
сама идея, постраничного вывода, меня очень волнует в последнее время.
нелзя ли получить пояснения на предмет: использования пейджера. что это такое?
наверно это от слова page - страница ...
а пейджер здесь, имхо, постраничная начитка
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432154
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
panuпрошу прощения,
сама идея, постраничного вывода, меня очень волнует в последнее время.
нелзя ли получить пояснения на предмет: использования пейджера. что это такое?

Пейджер - это что-то, что ловит данные, накапливает их и показывает потом постранично. Как less more в xNIX.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432323
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, как бы вы такую задачу решали:
Есть таблица, в таблице ~5млн записей - фамилия, имя, отчество, дата рождения. В поле вводится начальные буквы фамилии, а в гриде сразу перескакивает на нужную запись?
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432464
sybdba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanИнтересно, как бы вы такую задачу решали:
Есть таблица, в таблице ~5млн записей - фамилия, имя, отчество, дата рождения. В поле вводится начальные буквы фамилии, а в гриде сразу перескакивает на нужную запись?
абстрактная идея без конкретики: как записная книжка - разбивка по первой букве
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33432572
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sybdba gardenmanИнтересно, как бы вы такую задачу решали:
Есть таблица, в таблице ~5млн записей - фамилия, имя, отчество, дата рождения. В поле вводится начальные буквы фамилии, а в гриде сразу перескакивает на нужную запись?
абстрактная идея без конкретики: как записная книжка - разбивка по первой букве
Ну-ну...) разобьем по первой букве 5000000/32=156250 Это столько на рабочую станцию тянуть что-ли?...
В таком случае быстее всего будет идти поиск по Ъ и Ь
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33433097
Vlad_5181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman
Если 5млн записей, то на одну фамилию будет несколько сотен/тысяч совпадающих И/О. Таким образом попасть на правильную запись невозможно даже набрав ВСЮ фамилию.
Решение.
Имена, отчества будут совпадать часто. Можно создать справочник имен и отчеств (может быть и фамилий). В основной таблице хранить только коды.

Дается выбор мужчина/женщина (эргономичнее нажатием клавиши с автоматическим переходом к гриду после одной набранной буквы: м или ж)
3 поля с гридами по Ф И О из справочников
Если в одной местности, то повторяемость Имен/Отчеств будет значительной и можно сделать выпадающий список как альтернативу.

Затем по кнопке или по вводу формируется динамический sql-запрос (или др. если инструментарий позволяет) на те поля, которые непустые по кодам из справочника.
По полям код_Ф, код_И, код_О в основной таблице делается индекс.
Возможно для очистки справочников от экзотических имен при удалении последней записи с именем в основной таблице удалять это имя в справочнике.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33433277
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что - нормально. Тяп-ляп. Дорогие пользователи. Нате - трахайтесь!..

Мда... Представляю, с какой скоростью будет работать написанный вами интерфейс...
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33433949
Vlad_5181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman
А задачу описать не по-Бобруйски слабо?
На PowerBuilder + ASE для определенного круга задач и определенного круга пользователей весьма нормальное решение.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33434399
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanИнтересно, как бы вы такую задачу решали:
Есть таблица, в таблице ~5млн записей - фамилия, имя, отчество, дата рождения. В поле вводится начальные буквы фамилии, а в гриде сразу перескакивает на нужную запись?

Я бы сделал дерево из начальных кусков фамилии. При чем можно даже статистически сделать чтобы более-менее равномерно выбирать куски.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33434404
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad_51812 gardenman
Если 5млн записей, то на одну фамилию будет несколько сотен/тысяч ...

Вот очень хорошая идея и здравая.
...
Рейтинг: 0 / 0
Постраничный вывод, помогите доделать
    #33434544
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv

Ну вот у нас было так (на примере актов сдачи работ)
Задача - показать акты сдачи работ на заданную дату.
Делалось так: Пользователь на юрлице нажимает пункт меню
"Акты сдачи работ по периодам".
Ему в дереве раскрываются периоды - 1-вый квартал, второй квартал,
и т.п. (для каждого года). Далее он раскрывает квартал - получает месяца,
и в каждом месяце - по неделям или по декадам (десять дней).
И вот только когда он выберет декаду или неделю, тогда ему за эту неделю
выдаются нужные документы. Последний период подбирается специально так, чтобы в нем документов было немного, не более 1000. А дальше они все сосуться на клиента и он с ними уже в гриде разбирается сам.


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

MasterZiv
с127
А как в этом случае клиент будет заниматься прокруткой по всем записям, сортировкой и прочими прелестями, если он из 1млн получил только 1000.

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

Я говорил немного о другом. Если просто ограничить количество записей на клиенте, например 1000, а потом пользователь отсортирует их в убывающем порядке по какому-то полю, то наверх попадет не та запись, которая имеет максимальное значение в этом поле в базе, а только та, которая попала на клиент. Т.е. получается что либо сортировку делать в базе и потом вытаскивать 1000 записей, либо на клиент тащить все записи, а этого бы не хотелось.

С сервером приложений проблема как раз в синхронизации. В базе записи меняются, и вообще много чего меняется, это все нужно реплицировать на сервер приложений и ничего не забыть, это та еще задача. К тому же на СКЛ-е многие вещи пишутся легче чем на процедурных языках, а сервер приложений СКЛ не поддерживает.
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Постраничный вывод, помогите доделать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]