![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
выборка заданного количества записей с помощью sql-запроса [ms access]
lra © (2005-10-20 23:36:00)Существует большой объем данных, выполняется sql-запрос на выборку всех записей из таблицы,
нам необходимо остановить его выполнение на определенной записи, а записи с первой по заданную, т.е. на которой мы остановились вывести, например, в грид.
zig (2005-10-22 00:02:00) [1]может проще отказатся от грида a использовать DBTEXT
или используй в запросе курсоры (сам не пробовал)
Desdechado (2005-10-21 18:42:00) [2]имея "нечто" нужно получить "что-то"
напильник не прилагается, с собой приносить тоже запрещается
ну-ну, трудись дальше
alex_*** (2005-10-21 17:36:00) [3]вск таки непонятно. это специальное извращение такое для программистов и пользователей? Чем вызваны ограгичения на выборку записей непонятно...
Lexer (2005-10-21 16:44:00) [4]>значит так, у записей в таблице нет ID
Вместо ID можешь использовать др. поле (поля) ...ну должен же быть хоть какой то уникальный идентификатор
>и в инструкции sql-запроса не должно содержаться конструкций содержащих органичение на количество выбираемых строк.
а кто говорит про ограничения?
alex_*** (2005-10-21 16:44:00) [5]скачать все в набор, и по одной записи перекачивать в набор, соединенный с DBGrid
lra (2005-10-21 16:36:00) [6]значит так, у записей в таблице нет ID, и в инструкции sql-запроса не должно содержаться конструкций содержащих органичение на количество выбираемых строк.
Lexer (2005-10-21 16:30:00) [7]alex_*** (21.10.05 16:27) [15]
А зачем обязательно по одной записи показывать?
Программистам никогда не надоест издеваться над пользователями =)
alex_*** (2005-10-21 16:27:00) [8]А зачем обязательно по одной записи показывать?
Lexer (2005-10-21 16:21:00) [9]>так вот надо что записи в гриде отображались по одной, т.е. набор данных
каждый раз выбирает по одной записи из таблицы и помещает в грид.
можно это сделать как в [12], или каждый раз выполнять запрос, отсеивая предыдущие, например:
select top 1 * from table where (id_record> :last_id_record)
или как вариант:
select top 1 * from table where (id_record not in (select top Xid_record from table))
где X - количество уже полученных записей.
Виталий Панасенко (2005-10-21 16:09:00) [10]Я уже не могу !!!! Поднимаю хенды хох !!!!
select top 1 * from table
Если это, конечно, тоже смогут понять...
Lexer (2005-10-21 16:03:00) [11]Ira, f может, проще и быстрее достать всенужные записи, и запихивать их по одной или две... по сколько надо... в грид?
lra (2005-10-21 15:57:00) [12]так вот надо что записи в гриде отображались по одной, т.е. набор данных
каждый раз выбирает по одной записи из таблицы и помещает в грид.
И еще select top n а дальше?
Виталий Панасенко (2005-10-21 15:52:00) [13]ИРА - это Ирландская Революционная Армия ? :-))) Тебе уже ответили в
> evvcom © (21.10.05 08:53) [3]
> Динамический "SELECT TOP n ...".
> Какая-то неверная постановка задачи. Имхо.
Desdechado (2005-10-21 15:51:00) [14]записи в гриде не оказываются, они там только отображаются
оказываются они в наборе данных, например, в Query
чтобы там оказалось столько данных, сколько тебе надо, сформулируй запрос к БД правильно
lra (2005-10-21 15:30:00) [15]если можно то как можно подробнее опишите реализацию, такого механизма
lra (2005-10-21 15:29:00) [16]Смысл в следующем, необходимо придумать такой механизм:
образаемся к таблице не важно какой, выбираем из нее первую запись, отправляем в грид, потом выбираем следующую и так же отправляем ее в грид, и так до тех пор пока в гриде не окажется заданное количество записей.
Курдль (2005-10-21 10:59:00) [17]Не совсем понятно задание :(
У некоторых потомков TDataGrid есть событие OnFetchRecord, на которое можно подсесть и проверять, что нужно.
А возможно следует изменить подход. Записи обрабатывать на клиенте и набивать мим какой-нибудь "отвязанный от БД" компонент набора данных типа ТClientDataSet или ТdxMemData и т.п.
ShiFT (2005-10-21 09:51:00) [18]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
и тому подобное.
alex_*** (2005-10-21 09:09:00) [19]Нужно записи выбирать пакетами с сервера или выбрать все, но показывать по частям?
evvcom (2005-10-21 08:53:00) [20]Динамический "SELECT TOP n ...".
Какая-то неверная постановка задачи. Имхо.