BDE i relacyjna(?) baza danych

0

Cześć. Chciałbym zrobić relacyjną(?) bazę danych. Tzn. Daję 2xTdataSource i 2x TTable.

No i oczywiście 2xTDBGrid.

Łączę ze sobą DataSource, TTable i DBGrid.
Ma to być przykładowa baza dla wypożyczalni video.
Na jednym gridzie mają być widoczni klienci, a na drugim filmy, jakie dany klient ma na koncie.
Tzn. zaznaczam odpowiedniego klienta w GridKlient, a na GridFilm pojawia mi się jakby jego konto(wypożyczone filmy).

Za pomocą Database Desktop stworzyłem sobie dwie bazy: klient.dbf i film.dbf. I teraz mam problem.

W trybie projektowania właściwości Active TTable są ustawione na false.

W onCreate formy mam oto taki kod:

//wydobycie ścieżki, w której jest program:
 sciezka:=extractFilePath(paramStr(0));

//ustawianie właściwości
try
 tableKlient.DatabaseName:=sciezka+'film.dbf';
 tableKlient.TableName:=sciezka+'klient.dbf';
 tableFilm.DatabaseName:=sciezka+'film.dbf';
 tableFilm.TableName:=sciezka+'film.dbf';

 tableKlient.Open; //najpierw zamiast OPEN miałem active:=true
 tableFilm.Open; //tutaj oczywiście też
except
 begin
  showMessage('Błąd');
 end;

No i pojawia się błąd. Gdy uruchamiam w środowisku błąd jest następujący:
"Project project1.exe raised exception class EDBEngine error with message: 'Invalid Directory'
Directory: <tu wypisana pełna ścieżka wraz z nazwą pliku: film.dbf>"

Jeśli linie
tableKlient.DatabaseName:=sciezka+'film.dbf';
tableFilm.DatabaseName:=sciezka+'film.dbf';

opatrze komentarzami to wszystko idzie. Ale ja potrzebuję zrobić taką relację, jak pisałem na początku. Nigdy nie robiłem baz tego typu, więc proszę o rady, pomoc, wskazówki...

Myślałem, że muszę moze zarejestrować alias jakiś. Ale w helpie jest napisane, że może być po prostu pełna ścieżka dostępu do pliku.

0

Może tak:

tableFilm.TableName:=sciezka+'</b>film.dbf';

1 użytkowników online, w tym zalogowanych: 0, gości: 1