Вниз
Скачать: CL | DM;

Использование коллекции Properties для ADODataSet   Найти похожие ветки 

 
Patrick ©   (2004-04-06 10:46) [0]

Объясните, пожалуйста, такой момент, работаю с многотабличным запросом, но производить изменения надо только в одной таблице,
нашел, что устанавливать надо Properties, настроил в событии OnWillChangeRecord на всяк случай,
 qMarks.Properties["Unique Table"].Value := "Marks";
 qMarks.Properties["Update Criteria"].Value := adCriteriaKey;
 qMarks.Properties["Update Resync"].Value:= adResyncAll;
для сброса изменений на сервер, пользуюсь BatchUpdate
при удалении, вроде всё как и должно быть, удаляется строка (строки) только из одной таблицы, а вот при добавлении записей система, видимо, пытается добалять строки во вспомогательные (справочные таблицы), чего естественно делать не надо, может кто подскажет, где можно почитать про эти свойства по-подробнее, или что-либо по данной проблеме?


 
serge35   (2004-04-06 11:07) [1]

Сначала надо сделать запись в основной таблице,
затем получить ID этой записи, затем последовательно сделать добавление во все вспомогательные таблицы с ID новой записи в основной таблице.


 
KSergey ©   (2004-04-06 12:59) [2]

Да кривовато это все, по-моему.. Вообще вся эта реализация "ума" в ADO мешает, либо я не умею пользоваться...
Только эксперименты могут дать ответ...


 
Patrick ©   (2004-04-06 13:16) [3]

В примерах всё как бы представлено для Access"а, но если я пользую MS SQL и хранимые процедуры для представления данных и их изменения, то что же в свойстве "Resync Command" нужно указывать фрагмент хранимой процедуры, это как то неинтересно переносить серверную часть на клиентскую, может всё-таки есть какое-то решение чтобы можно было пользоваться UpdateBatch и было бы всё нормально? А то правда в ADO "горе от ума".


 
KSergey ©   (2004-04-06 13:22) [4]

а) либо поискать компоненты, которые работают через ADO, но имеют UpdateSQL аля стандартные

б) либо использовать "оторванные" ADO"шные DataSet (после получения данных- отключаемся от Connection"а) - тогда на BeforeUpdate можно прописать свою логику. Хотя там тоже есть "моменты"



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1081922154
ashnurov
2004-04-14 09:55
2004.05.02
WinInet


1-1081864866
Rusar
2004-04-13 18:01
2004.05.02
Вопрос по ListView


14-1081431110
menart
2004-04-08 17:31
2004.05.02
Закат империи янки


1-1081949171
Flashas
2004-04-14 17:26
2004.05.02
dbgrid i Enter..


1-1081956552
Sever
2004-04-14 19:29
2004.05.02
ComboBox и файлы




   Наверх