Форум: "Базы";
Поиск по всему сайту: 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.016 c
1-28456           Serg5                 2001-12-21 19:36  2002.01.10  
Знатоки, подскажите. плиз, как запретить ввод любых значений в StringGrid, кроме первой колонки. Т.е. остальные попросту у меня предназначенны для отображения результата.


3-28436           macinsoft             2001-12-10 10:31  2002.01.10  
Восстановление базы


1-28510           USAtyj                2001-12-21 12:56  2002.01.10  
AV при вызове HeapAlloc


4-28552           Dark_Dan              2001-10-28 16:17  2002.01.10  
Хочется быть первым...


1-28476           Пл.                   2001-12-22 09:42  2002.01.10  
SaveDialog