![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с ADO
snake-as © (2008-01-27 09:09:00)Здрасвствуйте. Я никогда не работал с БД в Delphi, вот прошу вашей помощи. Надо написать программу в ADO, все тривильно, несколько таблиц. Так вот, я разобрался, как подключиться к таблице, как вывести ее. Может разберусь даже с поиском. Я никак не могу разобраться, как связать две таблице в MsAccess я сделал две таблицы, связь между ними. А вот как сделать, чтобы при выборе записи из одной таблицы отображались соответствующие записи из другой. Если кинете ссылку на чтиво по ПРИМЕРАМ в ADO, тоже буду очень благодарен. Заранее спасибо.. Сергей
Kolan (2008-01-27 09:33:00) [1]> Так вот, я разобрался, как подключиться к таблице, как вывести
> ее.
Допустим у тебя есть две таблицы :
A
ID
B
ID
AID
1. Кидаешь на форму два TADODataSet(например). Подключишь их сам, раз разобрался.
В первом пишешь:
SELECT * FROM A
Во втором:
SELECT * FROM B
WHERE AID = :AID
:AID это параметр.
2. Теперь свяжи с этими запросами два грида, думаю сможешь.
3. Теперь в обработчике сщбытия OnAfterScroll (читай справку что оно означает) первого запроса пишешь примерно следующее:
procedure TForm1.ADODataSet1AfterScroll(DataSet: TDataSet);
var
Param: TParameter;
begin
ADODataSet2.Close;
Param := ADODataSet2.Parameters.FindParam('AID');
if Assigned(Param) then
Param.Value := DataSet.FieldByName('ID').Value;
ADODataSet2.Open
end;
То есть при изменении тек. записи в ДатаСете1 ты получаешь код текущей строки. И подставляешь эту тек. строку в качестве параметра.