ďťż

Ładny brzuch

No dobra mam na formie kontrolke DBEdit1 z zakłądki data controls, jest bliźniaczo podobny do kontrolki Edit z zakładki standard, ale nie ma od ogólnie dostępnej metody text. W jaki sposób z niego kożystać?



A po co Ci właściwość Text ?? Przecież ta kontrolka korzysta bezpośrednio z bazy - zatem do tej właściwości nie musisz mieć dostępu - pobieraj dane z bazy - z pola, które jest przypisane do DBEdit.

Upadate
Ale jak się upierasz to TEdit(DBEdit1).Text
Użytkownik Uno edytował ten post 21 luty 2006, 12:36
Ok, nie chodzi mi o to żeby na siłe coś tam wpisywać, tylko dowiedzieć się jak ta kontrolkadziała. Podpinam ją pod Datasource1 ale musze choba użyć jakiejś metody, albo wywołać jakieś zdarzenie żęby coś się zmieniło w tej kontrolce DBEdit1


Ok, nie chodzi mi o to żeby na siłe coś tam wpisywać, tylko dowiedzieć się jak ta kontrolkadziała. Podpinam ją pod Datasource1 ale musze choba użyć jakiejś metody, albo wywołać jakieś zdarzenie żęby coś się zmieniło w tej kontrolce DBEdit1

A do Datasource1, do DataSet przypisałeś coś ??
Zrób tak - połóż na formie tabelę (Table1), datasource(DataSource1), dbedita (DBEdit1). Do Table1, do DataBaseName przypisz DBDEMOS(to jest baza dostarczana z Delphi), a do TableName np animals.dbf. Klknij prawym klawiszem na Table1 i daj FieldEditor. W tym fields editor daj ponownie prawy klawisz i "Add all fields" - pojawi Ci sie lista dostępnych pól. W DataSource1 jako DataSet wybierz tą tabelę co ją ustawiłeś. Do DBEdit1 jako DataSource wybierz DataSource1 a do DataField przypisz jakieś pole z tabeli np NAME. Teraz połóż na formę DBNavigator i jako DataSource wybierz mu DataSource1 co do DBEdita jest przypisane.
I teraz w OnCreate formy daj Table1.Open a w OnClose formy Table1.Close;

Przechodząć pomiędzy polami tabeli za pomocą DBNavigatora zawartośćDBEdita będzie się zmieniać zgodnie ze zmianą aktywnego rekordu pliku animals.dbf.




Zrób tak - połóż na formie tabelę (Table1), ...
Mógłbyś dokłądniej napisać co to za kontrolka, i czy mysze mieć na komputerze postawioną jakąś baze danych?


Mógłbyś dokłądniej napisać co to za kontrolka, i czy mysze mieć na komputerze postawioną jakąś baze danych?

Sory źle się wyraziłem. Pisząc abyś dokłądniej opisał kontrolke miałem na myśli "tabele" o której piszesz, inne kontrolki rozumiem, mam , i w miare się w nich orientuje.
Użytkownik podrurznik edytował ten post 21 luty 2006, 13:22
No więc DataSource to komponent, do którego można "podpiąć" dowolną ilość kontrolek z zakładki DataControls. Są one b. podobne do zwykłych kontrolek, tyle że nie trzeba martwić się o ich zawartość, sama się zmienia gdy tylko zmieni się zawartość odpowiedniego pola w DataSource.
Tak jak już Uno napisał do DataSource trzeba przypisać jakieś źródło np. Table, albo Query. Bazę możesz mieć na jakimś serwerze np. MySQL i wtedy wykorzystujesz: SQLDataSet - DataSetProvider - ClientDataSet - DataSource - DBEdit :D. Wystarczy jak pobierzesz jakieś dane do SQLDataSet, a zawartość kontrolek sama się zmieni :)
//Uff, ale się napisałem, powiedzcie chociaż że rozumiecie :o ...

Dodatkowe pytanie, czy można poćwiczyć praktycznie na tych kontrolkach bez konieczności postawienie na kompie jakiejś bazy (SQL serwer, paradox, czy jakiejś tam jeszcze innej).


Dodatkowe pytanie, czy można poćwiczyć praktycznie na tych kontrolkach bez konieczności postawienie na kompie jakiejś bazy  (SQL serwer, paradox, czy jakiejś tam jeszcze innej).


Dodatkowe pytanie, czy można poćwiczyć praktycznie na tych kontrolkach bez konieczności postawienie na kompie jakiejś bazy  (SQL serwer, paradox, czy jakiejś tam jeszcze innej).

Oczywiście. Ty piszesz o serwerach baz danych, które zawierają bazy danych. Nie jest to konieczne. Możesz (jak wcześniej napisałem) storzyć sobie prosty plik np dbf lub skorzystać tej DEMODATA - to też będą bazy danych Przypiszesz w BDE administator aliasa (jako path podajesz folderz plikiem/plikami) i w Delphi odwołujesz się poprzez aliasa do konkretnej tabeli (w przypadku np plików dbf DBASE konktretną tabelą jest konkretny plik)

A na temat TTable nie wiem co jeszcze napisać - jest to niejako brama dostępowa do tabeli - udostępnia Ci m.in. procedury i metody odczytu, zapisu, edycji wartości pól zawartych w tabeli fizycznej

Dzięki za odpowiedzi, ale szczerze mówiąc troche się zgóbiłem, o ile znam się na delphi o tyle na bazach danych znam się minimalnie. Napisz jeszcze raz, jakie dokładnie mam wstawić kontrolki na forme (z jakich palet) i jak je podłączyć do siebie i do bazy danych (tak jak pisałęś można stworzyć plik któy będzie zawierał tabele, jak to zrobić) tak zeby zobaczyć jak działa kontrolka DBEdit1.
Użytkownik podrurznik edytował ten post 21 luty 2006, 15:52

(...)

Ano spróbujemy. Połóż na formie Table i DataSource z zakładki Data Access oraz DBEdit i DBNavigator z zakładki Data Controls. Komponenty się nazwą same odpowiednio Table1, DataSource1, DBEdit1 i DBNavigator1 - takich nazw będę używał. Ustawiamy Table1 - w object inspector wybierz DatabaseName - wybierz z listy rozwijalnej DBDEMOS oraz TableName - animals.dbf. teraz DataSource1 - w object inspector DataSet - wybierz Table1. DBEdit1 - oject inspector - DataSource wybierz DataSource1 oraz DataField - wybierz NAME. DBNavigator1 - object inspector i wybierzasz dla DataSource DataSource1. Teraz w OnCreate formy dajesz Table1.Open (otworzenie bazy danych i tabeli) a w OnClose - Table1.Close (zamknięcie). Po uruchomieniu programu, za pomocą DBNavigatora poruszasz się po rekordach tabeli i stosowna wartość pola NAME będzie wyświetlona w DBEdit.

Własną bazę tworzysz tak:
Uruchamiasz Database Desktop (domyślnie w Program Files\Borland\Database Desktop) dajesz File -> New -> Table. Wybierasz typ tabeli (może być Paradox 7) i ustawiasz strukturę (nazywasz pola, określasz ich rozmiar, indexy i takie tam) po czym zapisujesz tą tabelę - załóżmu że w pliku c:\test\test.db. Teraz z panelu sterowania uruchamiasz BDE Administrator i tam Object -> New -> Standard -> wprowadzasz nazwę np test i w PATH wstawiasz ścieżkę do katalogu z plikiem - c:\test\. Dale j Object -> Apply. i już masz stworząną bazę (o aliasie test) zawierającą jedną tabelę - test.db. Teraz w Delphi możesz już korzystać z tej bazy (w naszym powyższym przykładze zamiast DatabaseName DBDEMOS możesz wybrać test).

Pisałem na podstawie Delphi 5 Enterprise - pełnej instalacji.

Nie mam czegoś takiego jak table w zakładce Data Access

Mam delphi 7 Enterprise
Użytkownik podrurznik edytował ten post 21 luty 2006, 17:01

Nie mam czegoś takiego jak table w zakładce Data Access

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •