Здравствуйте, alexm1202, Вы писали:
A>Здравствуйте, pashaz5d, Вы писали:
P>>Помогите, Как вывести в DBGrid результаты запроса, выполняемого через ADOCommand?
A>Dim rst As ADODB.Recordset A>Set rst = yourADOCommand.Execute A>Set yourDBGrid.DataSource = rst
А что такое DIM ? это что-то из VBasic?
Применительно к Delphi, наверное это можно написать вот так:
Здравствуйте, pashaz5d, Вы писали:
P>Здравствуйте, alexm1202, Вы писали:
A>>Здравствуйте, pashaz5d, Вы писали:
P>>>Помогите, Как вывести в DBGrid результаты запроса, выполняемого через ADOCommand?
A>>Dim rst As ADODB.Recordset A>>Set rst = yourADOCommand.Execute A>>Set yourDBGrid.DataSource = rst
P>А что такое DIM ? это что-то из VBasic?
Да, это VB. Объявление переменной — ссылки на объект типа Recordset из библиотеки ADODB.
P>Применительно к Delphi, наверное это можно написать вот так:
P>ADODataSet1.Recordset:=ADOCommand1.Execute; P>DBGrid1.DataSource:=ADODataSet1.Recordset;
P>или я не прав?
Ну вот, теперь я не врубаюсь, у меня скиллы VB и C++ А что такое ADODataSet1? Это какой-то компонент, кинутый на форму? Если да, то не знаю, сработает ли. А просто
DBGrid1.DataSource := ADOCommand1.Execute;
не канает? Или, по-другому, ты без ADODataSet переменную типа Recordset объявить можешь? Т.е. прямо перенести в дельфи данный выше код?
Здравствуйте, alexm1202, Вы писали:
A>Хм, кстати, а DBGrid-то это который? Дельфовый стандартный? А он вообще ADO-шные источники данных понимает?
он понимает любого кого можно привести к TDataSet
... << RSDN@Home 1.1 beta 2 >>
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Здравствуйте, pashaz5d, Вы писали:
P>Помогите, Как вывести в DBGrid результаты запроса, выполняемого через ADOCommand?
В Delphi
Насколько я знаю, никак. Дело в том что RecordSet, который возвращает ADOCommand не поддерживает закладки (bookmark), которые нужны гриду для нормальной работы. Чтобы вывести данные в грид используй либо ADOQuery, ибо ADOTable. Чтобы просто прочитать результат запроса используй такой код:
ADOCommand1.CommandType:=cmdText;
ADOCommand1.CommandText:=<запрос>;
ADODataSet1.Recordset:=ADOCommand1.Execute;
while not ADODataSet1.eof do begin
...
ADODataSet1.Next;
end;