Tworzenie pliku *.db

0

Witam!
Od niedawna zacząłem projektować bazę danych. Szło w miarę prosto gdyż używałem gotowych tabeli np. biolife.db. Kłopot zaczął się, gdy chciałem stworzyć własną bazę danych na dysku np. C:\bazy\mojabaza.db. Siedzę i siedzę i nie wiem jak to zrobić!! :[
A? I jeszcze jedno, jakie hasło mam wpisać jak chcę się dostać do: ?Pliki programu Excel?.
Dziękuję z góry. Mateusz.</ort>

0

A? I jeszcze jedno, jakie hasło mam wpisać jak chcę się dostać do: ?Pliki programu Excel?.

Poczytaj o ADO lub o ODBC. A co do plików *.DB: Database Explorer się przyda.

0

A czy możne ściągnąć ten Database Explorer z sieci?
Jeszcze jedna drobnostka [wstyd].
A jak już jakiś plik będie istniał na dysku, to gdzie mam mu podać jego ort!?

0

Database Explorer jest w standardowej instalacji Delphi (of course nie Personal :) ), szukaj go w Menu Start w grupie Borland. A ścieżkę podajesz dokładnie tam, gdzie alias BDE (albo ustawiasz sobie alias do katalogu i wybierasz alias), czyli np. w komponencie TTable ustawiasz odpowiednio właściwość DatabaseName.

0

Ok. to już pojąłem ;) i nawet mi dobrze idzie ;P, klasycznie jednak pojawia się jakieś ALE?
Problem znów dotyczy tworzenia Tabeli, tym razem jednak na myć niekojarzona z żadną ścieżką na dysku ? ma istnieć tylko podczas wykonywania programu.
Czy to w ogóle możliwe??
P.S. brodny dzięki za zrozumienie dla początkującego.

0

Hmm, dynamiczna tabela? Dynamiczne tworzenie komponentu TTable mam, ale tabela musi istnieć na dysku, więc to nie jest to, o co Ci chodzi. Pomóc Ci może komponent TClientDataSet. Dane przypisuje się do niego poprzez właściwość Data (to tak w skrócie dla tej tymczasowej tabeli). Jest to właściwość typu OleVariant. Aby wyciąnąć dane z dowolnej tabeli, zapytania etc. użyj tej funkcji (Delphi 6. Vademecum profesjonalisty. Tom II, rozdział 21. - DataSnap vel MIDAS):

function GetData(ADataset: TDataset): OleVariant;
begin
  with TDataSetProvider.Create(nil) do
  try
    Dataset := ADataset;
    Result := Data;
  finally
    Free;
  end;
end;

I teraz piszesz np.:

begin
  // ...
  ClientDataSet1.Data := GetData(Table1);
  // ...

Taki zbiór danych daje się normalnie przeglądać, wstawiać, edytować etc. Wydaje mi się także, że po prostu po wstawieniu komponentu TClientDataSet bez kojarzenia go z niczym można także wstawiać rekordy itd., ale pewny nie jestem, gdyż nigdy tego nie próbowałem - wiem to tylko z teorii (czytaj z książek).

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