Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];




Вниз

MIDAS 


Polevi   (2001-12-06 18:11) [0]

Пишу 3-звенку. MS SQL через ADO
ClientDataset.Insert;
ClientDataset.FieldByName("...").AsString="some value";
ClientDataset.Post;
ClientDataset.ApplyUpdates(0);

В таблице есть AutoInc поле - проблема в том что в ClientDataset для свежедобавленной записи значение этого поля не определено. Как мне его получить?

DatasetProvider.Options:=[poAutoRefresh] не помогает :(

Можно конечно делать ClientDataset.Refresh после ClientDataset.ApplyUpdates но может быть есть более элегантное решение?



Tonie   (2001-12-07 11:41) [1]

Попробуй Query поставить
AutoRefresh = true
а для поля и в Query и в ClientDataSet
FieldKind = fkInternalCalc
AutoGenerateValue = arAutoInc
Но возможно что это только с BDE работает



Axel   (2001-12-07 12:51) [2]

Same troubles
See help for TBaseProvider.BeforeUpdateRecord
...
Manually apply updates that the provider can’t handle. For example, the provider can’t generate the appropriate SQL when the data results from a multi-table join and more than one table must be updated. Write code in the event handler to apply the update and then set the Applied parameter to True so that the provider does not generate an error.
...
I"ve not found anything better :((



Axel   (2001-12-07 12:53) [3]

Or set YourDataSetProvider.ResolveToDataSet = False



Polevi   (2001-12-07 14:35) [4]

2Tonie ©
AutoRefresh есть у TDBDataset (наследник TBDEDataset) - мне не подходит :(

2Axel
ResolveToDataSet = False не помогает

И не совсем понятно, чем может помочь BeforeUpdateRecord - это событие позволяет управлять данными, которые будут записаны в базу - я не вижу способа обновить ClientDataset с его помощью ...




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.021 c
1-28454           Imelda                2001-12-21 17:00  2002.01.10  
Как «сжать» эти строки так чтобы они шли по порядку?


1-28448           Aleksandr             2001-12-21 12:53  2002.01.10  
Как перевести координаты мыши в координаты объекта?


6-28527           PVK                   2001-10-16 17:38  2002.01.10  
Проблема с получением имени хоста по его адресу


6-28515           Woolen                2001-10-13 09:52  2002.01.10  
Определение URL


1-28470           JankinDoll            2001-12-21 20:07  2002.01.10  
Как посмотреть выделенный символ в Richedite является символом переноса или нет?