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>
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.
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!?
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.
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.
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).