Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка ADODataSet [MSSQL]


Страницы:   1 2 3 4 5

Ega23 ©   (2007-03-13 16:35:00) 

Есть ADODataSet с открытым набором данных.
Как его сортировать по разным столбцам на клиенте, не переоткрывая? IndexDefs добавлять?


Kostafey   (2007-04-17 17:44:00) [1]

Подскажите, пожалуйста, существует ли способ отобразить
изменения значений связанных полей до выполнения Post набора данных?

Если вызвать ADODataSet1.Resync([])
от изменения вообще не будут внесены.


Kostafey   (2007-04-17 17:04:00) [2]


> Пишет: Undeclared identifier: 'adResyncAll'.

adoInt

Ура ! Все работает !


Kostafey   (2007-04-17 16:57:00) [3]

Гм.
ADODataSet1.Properties['Update Resync'].Value := adResyncAll;
Пишет: Undeclared identifier: 'adResyncAll'.
В справке adResyncAll вообще не находит.


sniknik   (2007-04-17 16:49:00) [4]

> А как 'Update Resync' использовать ?
также как и другие, это свойство которое нужно установить "по вкусу", как тебе надо.
статью читал?


sniknik   (2007-04-17 16:48:00) [5]

> Так правильно?
нет, должно само. и потом ты перезапрашиваешь весь рекордсет, а ресинк команда только одну запись.


Kostafey   (2007-04-17 16:47:00) [6]


> это все? а где 'Update Resync'? по умолчанию только автоинкремент
> обновляется.

А как 'Update Resync' использовать ?


Kostafey   (2007-04-17 16:42:00) [7]

> [76] Kostafey ©   (17.04.07 16:33)

О! Получилось. Написал:
procedure TForm1.ADODataSet1AfterPost(DataSet: TDataSet);
begin
 ADODataSet1.Refresh;
end;
И стало все хорошо изменяться. Так правильно?


sniknik   (2007-04-17 16:40:00) [8]

> ADODataSetMeropr.Properties['Unique Table'].Value := 'Meropr';
> ADODataSetMeropr.Properties['Resync Command'].Value :=...
это все? а где 'Update Resync'? по умолчанию только автоинкремент обновляется.

либо твоя ресинк команда с ошибкой


Kostafey   (2007-04-17 16:33:00) [9]

> [61] Kostafey ©   (17.04.07 15:57)
> > [35] Jan1   (17.04.07 12:28)
>
>
> > http://delphikingdom.ru/asp/viewitem.asp?catalogid=420
>
> Странно. Сделал все как в статье...

Повторил для "пустого проекта" - то же самое.
Значения своств
ADODataSetMeropr.Properties['Unique Table'].Value := 'Meropr';
ADODataSetMeropr.Properties['Resync Command'].Value :=...
задаются при Form1.Show


Kostafey   (2007-04-17 16:21:00) [10]

> пропускаешь и ничего не делаешь...

Тоже верно. :) Спасибо, это получилось.


sniknik   (2007-04-17 16:12:00) [11]

> А как же быть если этого поля не окажется в наборе данных?
пропускаешь и ничего не делаешь...

> но в данном случае я с Access работаю.
для него можно русские поля из дескрипторов брать, их у него через схемы несложно вытащить. в дескрипторы их естественно ктонибудь должен внести.


Kostafey   (2007-04-17 16:10:00) [12]

> у тебя в топике MS SQL написано

А :).
Тпик-то не мой. Я его поднял потому что там про LookUp-поля было написано.
С них-то все и началось.


Kostafey   (2007-04-17 16:08:00) [13]

> [69] Jan1   (17.04.07 16:06)
>
> > where Meropr.Mer_id=
>
> Mer_id- ПК Meropr?

Mer_id - уникальный ключ таблицы Meropr.


Jan1   (2007-04-17 16:08:00) [14]

у тебя в топике MS SQL написано


Kostafey   (2007-04-17 16:07:00) [15]

> C:\Program Files\Microsoft SQL Server\80\Tools\Binn\profiler.exe

Эта штука у меня, конечно есть, но в данном случае я с Access работаю.


Jan1   (2007-04-17 16:06:00) [16]


> where Meropr.Mer_id=

Mer_id- ПК Meropr?


Jan1   (2007-04-17 16:05:00) [17]

C:\Program Files\Microsoft SQL Server\80\Tools\Binn\profiler.exe


Kostafey   (2007-04-17 16:04:00) [18]

> а чего профайлер говорит?

Я не что-то не понял. Что такое профайлер?


Jan1   (2007-04-17 16:02:00) [19]

а чего профайлер говорит?


Kostafey   (2007-04-17 16:01:00) [20]

> что там?

   ADODataSetMeropr.Properties['Resync Command'].Value :=
     'select * from                                                       '+
     '(                                                                   '+
     '  (                                                                 '+
     '    Meropr                                                          '+
     '    left join TipMeropr on TipMeropr.TMer_id = Meropr.Mer_TMer_id   '+
     '  )                                                                 '+
     '  left join Valute on  Valute.V_id = Meropr.Mer_V_id                '+
     ')                                                                   '+
     'left join Location on Location.L_id = Meropr.Mer_L_id               '+
     'where Meropr.Mer_id=?                                               ';


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо