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

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

Неработает ApplyUpdates(-1); [D6]


ROOT ©   (2006-01-11 17:58:00) 

Господа почему неработае метод ApplyUpdates(-1);
в TClientDataSet.


Nikolay M.   (2006-01-12 13:19:00) [1]


> т.е. надо в заголовке процедуры поменять dispid 20000006;
> на safecall???

Ууу... Извини, я умываю руки.
Тебе точно рано еще лезть в трехзвенку, а читать лекции у меня нет времени :(
Читай статьи, разбирайся с примерами, с конкретными вопросами - welcome.


root   (2006-01-12 12:11:00) [2]

в таблицах указанны все ключевые поля итд...
ну чтоб выйти из данной ситуации укажите путь в где копать????


sniknik   (2006-01-12 12:07:00) [3]

> раньше я работал с данной структурой БД
т.е. структура не поменялась? просто как есть перенесена с BDE(например dBаse) в Access (ADO). так?

тогда есть одно отличие, для BDE(dBаse) значимым является порядковый номер (по нему можно однозначно идентифицировать запись. т.е. использовать вместо ключа) в Access (ADO) уже не локальная а клиент серверная архитектура (хотя он(Access) и локальный) и порядковый номер уже ничего не значит... а ключа (возможно, т.к. структура говориш не менялась) нет... вот и ошибка. (одна из...)


root   (2006-01-12 12:05:00) [4]

Не учиться никогда нерано
т.е. надо в заголовке процедуры поменять dispid 20000006;
на safecall???


Nikolay M.   (2006-01-12 11:53:00) [5]


> Как его перекрыть????

Может, тебе рано пока с трехзвенкой ковыряться, да еще по ДКОМ-у?

type
 TMyRDM = class(TRemoteDataModule, IMyRDM)
 private
...
 protected
...
   class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
   procedure AS_Execute(const ProviderName: WideString;
     const CommandText: WideString; var Params, OwnerData: OleVariant); safecall;

 public
...
 end;


root   (2006-01-12 11:48:00) [6]

Nikolay M. ©   (12.01.06 11:42) [7]
procedure AS_Execute(const ProviderName: WideString; const CommandText: WideString;
                        var Params: OleVariant; var OwnerData: OleVariant); dispid 20000006;

Как его перекрыть????
Кокретнее....


root   (2006-01-12 11:44:00) [7]

раньше я работал с данной структурой БД но вместо ODBC использовал BDE и метод ApplyUpdates работал нормально!
как то наталкивался на данную проблему(другого человека)  ее решили следующим способом: написали метод на стороне сервера который коректировал ApplyUpdates для всех таблиц но как это делалось непомню подскажите!!!!


Nikolay M.   (2006-01-12 11:42:00) [8]

В своем RDM перекрой метод AS_Execute, посмотри, что за CommandText генерируется.


root   (2006-01-12 11:11:00) [9]

raised exception class EOleException with message 'Ошибка синтаксиса (пропущен оператор) в выражении запроса'
key=?
Номер точки=?
Наименование=?
...........
далее следует список всех полей таблицы к которой выполнялось ApplyUpdates
Ошибка генерируется на стороне сервера
тип базы Access-ODBC-ADO-Provider-Remote datamodul(DCOM)


Nikolay M.   (2006-01-12 10:40:00) [10]


> Альф   (12.01.06 09:04) [4]

Никто не хамит. Какой вопрос - такой ответ.
"У меня в подвале который год слышен странный стук, уважаемые ученые, объясните, почему он происходит" (с).
А как я объясню, что там у автора "не работает", если у всех "работает", а у него - "не работает"? Особенно в формулировке, аналогичной вопросу о водке.


Альф   (2006-01-12 09:04:00) [11]

У меня тоже когда-то не работало... старый глюк тянущийся еще с Delphi 3.Обновите midas.dll

Nikolay M. ©   (11.01.06 20:10) [2]
Хамить нехорошо....


аматор   (2006-01-11 23:37:00) [12]

Привет...
Попробуйте
DataSetProvider*.ResolveToDataSet := True
может поможет :)


Nikolay M.   (2006-01-11 20:10:00) [13]

Сначала встречный вопрос в твоем же стиле: а ты перестал пить водку по утрам?

По сабжу согласен с [1]. У всех работает.
Кстати: почему работает метод ApplyUpdates(-1) в TClientDataSet?

:)))


Desdechado   (2006-01-11 18:20:00) [14]

работает


Наверх

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