Текущий архив: 2005.12.04;
Скачать: CL | DM;
Вниз
выборка заданного количества записей с помощью sql-запроса Найти похожие ветки
← →
lra © (2005-10-20 23:36) [0]Существует большой объем данных, выполняется sql-запрос на выборку всех записей из таблицы,
нам необходимо остановить его выполнение на определенной записи, а записи с первой по заданную, т.е. на которой мы остановились вывести, например, в грид.
← →
Anatoly Podgoretsky © (2005-10-20 23:54) [1]SELECT TOP n ....
← →
lra © (2005-10-21 00:14) [2]а если заданное значение прописывать не в инструкции sql-запроса, а например, приложение должно выбирать строки
с данными по одной и отображать их в гриде с учетом ограничения на количество строк, сразу говорю, что условия отбора нет, выбираются все поля, но ограниченное количество строк. Спасибо за ответ.
← →
evvcom © (2005-10-21 08:53) [3]Динамический "SELECT TOP n ...".
Какая-то неверная постановка задачи. Имхо.
← →
alex_*** (2005-10-21 09:09) [4]Нужно записи выбирать пакетами с сервера или выбрать все, но показывать по частям?
← →
ShiFT (2005-10-21 09:51) [5]http://www.sql.ru/forum/actualthread.aspx?tid=30382&hl=%ef%f0%ee%ed%f3%ec%e5%f0%ee%e2%e0%f2%fc
http://www.sql.ru/faq/faq_topic.aspx?fid=126
и тому подобное.
← →
Курдль © (2005-10-21 10:59) [6]Не совсем понятно задание :(
У некоторых потомков TDataGrid есть событие OnFetchRecord, на которое можно подсесть и проверять, что нужно.
А возможно следует изменить подход. Записи обрабатывать на клиенте и набивать мим какой-нибудь "отвязанный от БД" компонент набора данных типа ТClientDataSet или ТdxMemData и т.п.
← →
lra © (2005-10-21 15:29) [7]Смысл в следующем, необходимо придумать такой механизм:
образаемся к таблице не важно какой, выбираем из нее первую запись, отправляем в грид, потом выбираем следующую и так же отправляем ее в грид, и так до тех пор пока в гриде не окажется заданное количество записей.
← →
lra © (2005-10-21 15:30) [8]если можно то как можно подробнее опишите реализацию, такого механизма
← →
Desdechado © (2005-10-21 15:51) [9]записи в гриде не оказываются, они там только отображаются
оказываются они в наборе данных, например, в Query
чтобы там оказалось столько данных, сколько тебе надо, сформулируй запрос к БД правильно
← →
Виталий Панасенко (2005-10-21 15:52) [10]ИРА - это Ирландская Революционная Армия ? :-))) Тебе уже ответили в
> evvcom © (21.10.05 08:53) [3]
> Динамический "SELECT TOP n ...".
> Какая-то неверная постановка задачи. Имхо.
← →
lra © (2005-10-21 15:57) [11]так вот надо что записи в гриде отображались по одной, т.е. набор данных
каждый раз выбирает по одной записи из таблицы и помещает в грид.
И еще select top n а дальше?
← →
Lexer © (2005-10-21 16:03) [12]Ira, f может, проще и быстрее достать все нужные записи, и запихивать их по одной или две... по сколько надо... в грид?
← →
Виталий Панасенко (2005-10-21 16:09) [13]Я уже не могу !!!! Поднимаю хенды хох !!!!
select top 1 * from table
Если это, конечно, тоже смогут понять...
← →
Lexer © (2005-10-21 16:21) [14]>так вот надо что записи в гриде отображались по одной, т.е. набор данных
каждый раз выбирает по одной записи из таблицы и помещает в грид.
можно это сделать как в [12], или каждый раз выполнять запрос, отсеивая предыдущие, например:select top 1 * from table where (id_record> :last_id_record)
или как вариант:select top 1 * from table where (id_record not in (select top X id_record from table))
где X - количество уже полученных записей.
← →
alex_*** (2005-10-21 16:27) [15]А зачем обязательно по одной записи показывать?
← →
Lexer © (2005-10-21 16:30) [16]alex_*** (21.10.05 16:27) [15]
А зачем обязательно по одной записи показывать?
Программистам никогда не надоест издеваться над пользователями =)
← →
lra © (2005-10-21 16:36) [17]значит так, у записей в таблице нет ID, и в инструкции sql-запроса не должно содержаться конструкций содержащих органичение на количество выбираемых строк.
← →
alex_*** (2005-10-21 16:44) [18]скачать все в набор, и по одной записи перекачивать в набор, соединенный с DBGrid
← →
Lexer © (2005-10-21 16:44) [19]>значит так, у записей в таблице нет ID
Вместо ID можешь использовать др. поле (поля) ...ну должен же быть хоть какой то уникальный идентификатор
>и в инструкции sql-запроса не должно содержаться конструкций содержащих органичение на количество выбираемых строк.
а кто говорит про ограничения?
← →
alex_*** (2005-10-21 17:36) [20]вск таки непонятно. это специальное извращение такое для программистов и пользователей? Чем вызваны ограгичения на выборку записей непонятно...
← →
Desdechado © (2005-10-21 18:42) [21]имея "нечто" нужно получить "что-то"
напильник не прилагается, с собой приносить тоже запрещается
ну-ну, трудись дальше
← →
zig (2005-10-22 00:02) [22]может проще отказатся от грида a использовать DBTEXT
или используй в запросе курсоры (сам не пробовал)
Страницы: 1 вся ветка
Текущий архив: 2005.12.04;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.028 c