![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование 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