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

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

Использование TADOTable [D6]


Alexei ©   (2008-09-30 17:11:00) 

Можно ли использовать один и тот же компонент ADOTable для запросов к различным таблицам. В своей программе использую один ADOTable для запросов к разным таблицам MS Access (внутри цикла), но после использования первого запроса (при активизации второго), программа выводит ошибку: id (первое поле первого запроса) not found. Как сделать чтобы ADOTable не проверял (не помнил) предыдущий запрос?


sniknik   (2008-09-30 21:01:00) [1]

> Подцепил, а это работает для разных провайдеров, в том числе для JET и для ODBC?
конечно. для всех с которыми может работать ADODataSet. (фактически это одно и тоже)


Anatoly Podgoretsky   (2008-09-30 20:32:00) [2]


> sniknik ©   (30.09.08 19:57) [9]

Подцепил, а это работает для разных провайдеров, в том числе для JET и для ODBC?


Anatoly Podgoretsky   (2008-09-30 20:29:00) [3]

> sniknik  (30.09.2008 19:45:07)  [7]

Я не про косвенные запросы для некоторых СУБД


sniknik   (2008-09-30 19:57:00) [4]

> если править прямо в dfm. счас попробую...
не получается ;(, приведение типа не знаю как там сделать...

в рантайм легко.

type
 TADOTable = class(ADODB.TADOTable);

 TForm1 = class(TForm)
   Button1: TButton;
   DBGrid1: TDBGrid;
   DataSource1: TDataSource;
   ADOConnection1: TADOConnection;
   ADOTable1: TADOTable;
   procedure Button1Click(Sender: TObject);
 private
 public
 end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOTable1.CommandType:= cmdText;
 ADOTable1.CommandText:= 'select *  from Main'; //простой, но можно любой сложности, и с параметрами, т.е. всем что дает его предок ADODataSet
 ADOTable1.Open;
end;


Виталий Панасенко(дом)   (2008-09-30 19:48:00) [5]


> sniknik ©   (30.09.08 19:45) [7]

Ну, "на глаз" это нензаметно.. Точно как и TTable для сиквел-серверов..:-)


sniknik   (2008-09-30 19:45:00) [6]

> TADOTable с запросами не работает.
работает. ;) только нафига оно надо если есть нормальный компонент.
можно наверное даже в десигне... %), если править прямо в dfm. счас попробую...


Anatoly Podgoretsky   (2008-09-30 19:38:00) [7]

TADOTable с запросами не работает.


Плохиш   (2008-09-30 18:21:00) [8]


> Alexei ©   (30.09.08 17:11)  

У тебя ошибка в 17й строке.

> Как сделать чтобы ADOTable не проверял (не помнил) предыдущий
> запрос?

ADOTable ничего не проверяет и не помнит. Это всё твоя программа делает.


Johnmen   (2008-09-30 17:43:00) [9]


> stas ©   (30.09.08 17:31) [3]
> Alexei ©   (30.09.08 17:11)
> У тебя наверное 1-й запрос написан в дизайн-тайме и сформирован список полей.

Запрос написан в дизайн-тайме для ADOTable??? Оригинально...:)


stas   (2008-09-30 17:31:00) [10]

Alexei ©   (30.09.08 17:11)
У тебя наверное 1-й запрос написан в дизайн-тайме и сформирован список полей.


Ega23   (2008-09-30 17:15:00) [11]

Не использовать ADOTable. Использовать TADODataSet со свойством CommandText


MsGuns   (2008-09-30 17:15:00) [12]

Можно, но во-первых, "старую" надо закрыть, во-вторых не использовать (или использовать со знанием) статические настройки. Перед открытием новой можно делать очистку коллекции филдов

Ну и главное - забыть про TADOTable и использовать TADODataSet


Наверх

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