![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
||||
|
||||
|
Цитата:
Вызываешь её примерно так: Код:
BatchMove(Query1, ClientDataSet1); Цитата:
Код:
ClientDataSet1.EmptyDataSet; Цитата:
И что же здесь должно быть по-твоему? Здесь Provider нужен был только для того чтобы перегнать данные из Query в ClientDataSet и после этого он больше не нужен поэтому уничтожается. |
|
#17
|
|||
|
|||
|
Цитата:
FromDS - ??? Откуда забирать? Или создать еще одну виртуальную таблицу и туда записывать из первой(в которую попадают результаты sql) Последний раз редактировалось kerby666, 13.09.2012 в 14:37. |
|
#18
|
||||
|
||||
|
Цитата:
FromDS откуда забирать(в твоём случае Квэрик), ToDS куда класть ClientDataSet1 только убедись что в ClientDataSet1 есть все нужные тебе поля и он открыт poli-smen тебе даже вызов написал Код:
BatchMove(Query1, ClientDataSet1); Последний раз редактировалось Lost_Fish, 13.09.2012 в 15:13. |
|
#19
|
|||
|
|||
|
procedure BatchMove(FromDS,ToDS:TDataSet);
ругается на TDataSet - E2003 Undeclared identifier: 'TDataSet' |
|
#20
|
||||
|
||||
|
Цитата:
|
|
#21
|
|||
|
|||
|
Добавил в Uses модуль DB. Только новые ошибки. Извините, я окончательно запутался. Мне нужно перед началом цикла FromDS:=DataModule1.ADOQuery1.DataSet И ToDS:=DataModule1.ClientDataSource1.DataSet?????
|
|
#22
|
||||
|
||||
|
Цитата:
Код:
BatchMove(DataModule1.ADOQuery1, DataModule1.ClientDataSource1); |
|
#23
|
|||
|
|||
|
Вроде получилось
![]() |
|
#24
|
|||
|
|||
|
Мелочь осталась такая. Поле со счетчиком. Тип - автоинкремент. Пришлось поставить modify : true, не компилилось иначе. Вытаскиваю sql-запросом поле со счетчиком 4 например. Помещаю в dbgrid. Выполняю след. запрос. Поле со счетком 6 напимер. Все корректно. Но при выводе в dbgrid вторая строка идет с номером 5. Первая строка с номером 4 потому что. Счетчик работает типа. Как бы сделать, чтоб такого не было. Или чтоб счетчик не работал при выводе в грид.
P.S. после очистки ClientDataSource нумерация продолжается с последнего 8 например, хотя строка в гриде первая. Последний раз редактировалось kerby666, 14.09.2012 в 13:09. |
|
#25
|
||||
|
||||
|
Цитата:
И ещё вопрос: а задача не позволяет выбрать нужные записи одним sql-запросом? |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
kerby666 (14.09.2012)
| ||
|
#26
|
|||
|
|||
|
каждый запрос должен возвращать одно поле. Каждое уникально. Так нужно.
|
|
#27
|
||||
|
||||
|
Цитата:
![]() |
|
#28
|
||||
|
||||
|
Цитата:
ты можешь не выводить это поле в грид допустим, но при этом получить его с Query и перенести в ClientDataSet для этого 2 раза ткни на грид в дизайнере добавь нужное кол-во колонок, укажи им всем FieldName и Title.Caption Цитата:
может не 1 поле а 1 запись с каким-то кол-вом полей? не? Последний раз редактировалось Lost_Fish, 14.09.2012 в 14:18. |