Показать сообщение отдельно
  #3  
Старый 13.04.2012, 17:09
Аватар для Klassenas
Klassenas Klassenas вне форума
Новичок
 
Регистрация: 25.05.2009
Адрес: Казахстан, Павлодар
Сообщения: 87
Версия Delphi: Rad Studio 2010
Репутация: 1570
По умолчанию

Цитата:
Сообщение от NumLock
select обычно через Open открывается.
Что-то я недоперепонял. Что конкретно имеется в виду?
Я знаю, что в ADOQuery можно вписать запрос и выполнить его через ReOpen. Но ADOQuery у меня на серверной проге.
А в клиентской - ClientDataSet, и согласно тому, что написано в учебнике, этот компонент может отсылать запросы на сервер, где они и будут выполняться. Это я и пытаюсь сделать.
Написал:
Код:
ClientDataSet1.Close;
ClientDataSet1.Open;
Он мне в ответ такую же ошибку выдаёт. Разницы нет.
Вот параграф из учебника:
Код:
Управление запросом на сервере 

Компонент TdientDataSet может не только эффективно управлять своим набором данных, но и влиять на выполнение серверного компонента, с которым он связан через провайдер. 

Свойство 

property CornmandText: string; 

содержит текст запроса SQL, имя таблицы или хранимой процедуры в зависимости от типа серверного компонента. 

Изменив значение этого свойства на клиенте, можно, например, модифицировать запрос SQL на сервере. Но для этого в свойстве Options соответствующего компонента-провайдера TDataSetProvider должно быть установлено значение 

poAliowCommandText := True; 

Новое значение свойства CommandText отправляется на сервер только после открытия клиентского набора данных или выполнения метода 

procedure Execute; virtual; 

Для запросов или хранимых процедур можно задавать параметры, которые сохраняются в свойстве 

property Params: TParams; 

До выполнения запроса присваиваются значения входным параметрам. После выполнения хранимой процедуры в выходных параметрах размещаются полученные от сервера значения. 

Обратите внимание, что при выполнении запросов или хранимых процедур может измениться порядок следования параметров. Поэтому обращаться к параметрам желательно по их именам. Например, так: 

Editl.Text := ClientDataSet.Params .ParamByName('OutputParam') .AsString; 

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

procedure FetchParams; 

Перед и после получения параметров от провайдера, клиентский набор данных вызывает методы-обработчики событий: 

property BeforeGetParams: TRemoteEvent;  

property AfterGetParams: TRemoteEvent; 

Это что, учебник неправильный или я тупой?
__________________
Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому
Ответить с цитированием