Integer Posted April 6, 2011 Report Share Posted April 6, 2011 Witam. 1. Było jak zainstalować w Delphi dobre komponenty do baz danych http://forum.unit1.pl/index.php?showtopic=3960 Ponieważ, niektórzy mają problemy z instalacja komponentów ponieważ mogą wyskakiwać mylące komunikaty o błędach .. zamieszczę tu swój opis, a właściwie wycinek rozmowy: Zeos jest darmowy do każdego zastosowania pytający no to sprobuje pod nim, która paczka jest pod D2007? bo tu takowej nie widzę programista Delphi11 pytający mam tylko delphi10 nie mam 11 programista też tam paczka jest pytający Component \ insall packages \ Add? programista nie, w delphi otwórz paczke z katalogu package\Delphi10 ZeosDbo.groupproj prawym na pierwszy projekt a potem prawym i Install na ostatnim potem tylko trzeba ścieżki do źródeł dorzucić w delphim pytający no found ZCore Res ZCore.res* programista jak chcesz zrobić Build for all? pytający z folderu otwieram ZeosDbo.groupproj, w drzewku klikam Build all from here i wyskakuje mi taki bład uzywam ZEOSDBO-6.6.0-beta programista ściągnij 6.6.6-stable idzie do strzału ja przed chwilką właśnie tą 6.6.6 ściągłem i ładnie poszło pytający file not found ZVariant.dcu ale go szukam jest tylko w folderze build; Package D:\....\ZCore110.bpl cant installed because it is not a design time package programista no ok., wszystkim daj po kolei install, ostatnia pozycja się zainstaluje, CommeonetDesing czy coś takiego pytający ok mam zakładke Zeos Access Link to comment Share on other sites More sharing options...
Integer Posted April 6, 2011 Author Report Share Posted April 6, 2011 A teraz będzie jak założyć bazę danych na serwerze / hostingu i jak się z nią połączyć za pomocą komponentów ZeosLib. Jak by się kto pytał poco się tak rozpisuję to odpowiadam, że mam dobrą pamięć ale krótką a nie które rzeczy bardzo rzadko się robi u szczegóły umykają z pamięci . Zakładanie serwera na własnym komputerze. Aby mieć konto na serwerze wystarczy albo - postawić sobie serwer na Linuksie lub na Windowsie (nie będę się spierał który lepszy bo pewnie Linuks ma więcej zwolenników nie wiedzieć czemu - żartowałem, że nie wiem ), fireewale, antywiry... - mieć połączenie z internetem osiedlówka, radiówka, jakiś operator komórkowy (wersja dla bogaczy), co poniektórzy podepną do stacjonarnego telefonu; - wykupią domenę, - zainstalują jakiś pakiet MySQL... Ale żeby mieć serwer MySQLa nie trzeba mieć fizycznego serwera z domeną chyba ze ktoś chce dane rozprowadzać w świat to by był to jeden ze sposobów, wystarczy mieć tylko ... I tu liczę na kogoś kto instalował bazę u siebie bo moje kilkukrotne próby z Krasnalem itp. darmowymi "serwerami" spaliły na panewce. ... zostawiam miejsce na wklejenie podpowiedzi i linków, tak dla porządku Link to comment Share on other sites More sharing options...
Integer Posted April 6, 2011 Author Report Share Posted April 6, 2011 Jak założyć bazę danych w MySQLu na hostingu Tu trzeba mieć stronkę z bazami danych MySQL np. 5.0 przykłady darmowych (nie testowałem, może ktoś ma jakieś sprawdzone) http://www.unit1.pl/hosting http://www.ugu.pl/ albo płatną i tu link poleceń z przykładowym hostingiem ale mają fajnie pomoc opracowaną http://www.linuxpl.com/?pp=530 i przykład logowania do panelu administratora http://linuxpl.com:2222/ zakładanie bazy danych wygląda tak (po przeczytaniu klikać na strzałkę przy dymku) http://pomoc.linuxpl.com/zakladanie_bazy.htm dodanie nowego hosta żeby miał dostęp do naszej bazy danych: http://pomoc.linuxpl.com/baza_danych_dodanie_hosta.htm żeby każdy mógł się połączyć z taką baza z dowolnego komputera wpisujemy w miejsce IP Hosta znaczek % procentu i z głowy, chyba że chcemy aby do bazy mieli dostęp nieliczni wtedy wpisuje się konkretne adresy IP. Jak pobrać zewnętrzny adres IP: http://forum.unit1.pl/index.php?showtopic=2416 Gdy już mamy założoną taką bazę danych o parametrach: Database= 'integers_test'; // zmyślone HostName= 'www.opengl.com.pl'; // prawdziwe Password= '1234xxxx'; // zmyślone User= 'integers_test'; // zmyślone Możemy się z bazą MySQL połączyć za pomocą komponentów ZeosLib. W następnych postach będą przykłady. Link to comment Share on other sites More sharing options...
Integer Posted April 7, 2011 Author Report Share Posted April 7, 2011 Jakie komponenty są potrzebne do zalogowania do bazy danych MySQL i obsługi tabeli? A więc po kolei: 1. Upewnij się, że jest zainstalowane ZeosLib, zakładka Zeos Access. 2. Utwórz nowy projekt i zapisz go w folderze o nazwie np "Tabela Osób": nazwa modułu koniecznie jako UGlowna.pas, nazwa projektu dowolna np. "ProjektBDOsoba.dpr" 3. W menu Delphi wybieramy File\ New\ Other pokaże się okienko "Item categories"; na drzewku z lewej wybieramy folder Delphi Files, po prawej stronie powinno być Data Module i kliknij na ikonkę, a w projekcie dojdzie nam nowy moduł. Teraz wystarczy to zapisać jako moduł UDM.pas a formę nazwać DM. 4. Na formę DM nakłada się komponenty z zakładki Zeos Acess: ZConnection, ZQuery oraz z zakładki Data Access komponent DataSource. Pozostaje zaznaczyć komponent ZConnection, w jego własnościach w Object Inspector przechodzimy z zakładki Properties na Events i dwukrotnie klikamy myszką na puste pola przy AfterConnect (po połaczeniu z serwerem) i AfterDisconect (po rozłączeniu z serwerem). W kodzie powstały dwie procedury w które wpisujemy: procedure TDM.ZConnectionAfterConnect(Sender: TObject); begin FGlowna.Memo.Lines.Add( ''); FGlowna.Memo.Lines.Add( 'Połączono z serwerem ...'); end; procedure TDM.ZConnectionAfterDisconnect(Sender: TObject); begin FGlowna.Memo.Lines.Add( ''); FGlowna.Memo.Lines.Add( 'Rozłączono z serwerem ...'); end; Zapisz projekt. Link to comment Share on other sites More sharing options...
Integer Posted April 7, 2011 Author Report Share Posted April 7, 2011 Jak ustawić login, hasło i inne dane potrzebne przy dostępie do bazy danych? Jakie własności nadać komponentom bazodanowym? do modułu UDM.pas nad sekcją var umieść nazwę procedury procedure LadujDane; var DM: TDM;implementation Uses UGlowna; I to koniec prac w module DM, zapisz i przejdź na formę główną. Link to comment Share on other sites More sharing options...
Integer Posted April 7, 2011 Author Report Share Posted April 7, 2011 Na formie głównej umieść: - panel ustaw we własnościach Height -> 40 oraz Align -> alBottom, - na panelu połóż DBNavigator z zakładki Data Controls, - tuż nad DBNavigator z zakładki Data Controls jest komponent DBGrid - połóż go w wolnym miejscu w górnej części formy, a jego własność Align -> alClient, - pozostaje jeszcze komponent MainMenu z zakładki Standard można go umieścić w dowolnym miejscu; klikając dwukrotnie na komponent MainMenu zobaczysz okienko, w którym można umieszczać przyciski widoczne później w menu, nazwy przycisków wpisuje się w własności Name, a wiec klikamy na pojedyncza pozycję pojedynczego przycisku a nie całego MainMenu są to nazwy bez liter polskich np. "mmPolacz" (mm mój skrót od MainMenu), napis widoczny w w menu wpisuj w Caption np. "Połącz". Tak więc utwórz w menu następujące pozycje: Caprion -> Połącz, Name -> mmPolacz, Caprion ->Rozłącz, Name -> mmRozlacz, Link to comment Share on other sites More sharing options...
Integer Posted April 7, 2011 Author Report Share Posted April 7, 2011 klikając dwukrotnie na nie utworzysz procedury, w które należy wpisać: implementation Uses UDM; // prosze pamiętać o dodaniu modułu DM {$R *.dfm} // Jak uzyskac połaczenie z baza dabych? procedure TFGlowna.mmPolaczClick(Sender: TObject); begin LadujDane; // Ladowanie haseł i ustawianie właściwości komponentów if DM.ZConnection.Connected then // jeśli sie połączono wcześniej z bazą begin Memo.Lines.Add('Łączenie z BD: już istnieje.'); end else begin try DM.ZConnection.Connected:= True; Memo.Lines.Add('Łączenie z BD: połaczono'); except Memo.Lines.Add('Łączenie z BD: Nie można się połączyć z bazą danych.'); MessageDlg('Nie można się połączyć z bazą danych.'+#13+'Niewłaściwe dane.', mtWarning, [mbOK], 0); end; end; end; // Jak sie rozłaczyc z baza danych MySQL procedure TFGlowna.mmRozloaczClick(Sender: TObject); begin LadujDane; // Ladowanie haseł i ustawianie właściwości komponentów Memo.Lines.Add('baza próba rozłączenia'); if DM.ZConnection.Connected then // jeśli jest połaczenie begin DM.ZConnection.Connected:= False; Memo.Lines.Add('Rozłączono z BD.'); end; end; Teraz wystarczy skompilować i uruchomić. Mam nadzieję że opisy i tekst w Memo jest wystarczający. Link to comment Share on other sites More sharing options...
Integer Posted April 7, 2011 Author Report Share Posted April 7, 2011 Na razie to tyle. Konkretne przykłady użycia w Delphi MySQL tj.: - tworzenie tabeli, - kasowanie tabeli, - pokazywanie całej zawartości tabeli, - wklejanie rekordu, - kasowanie rekordu - edycja rekordu, - wyświetlanie rekordu, są na stronie http://gss.webd.pl/index.php?option=com_co...w&id=5&Itemid=2, Podstawowe zapytania SQL i MySQLa http://www.egrafik.pl/porady/mysql-podstaw...-do-bazy-mysql/ http://www.eioba.pl/a/1ou/podstawy-tworzen...pytan-sql-mysql Zostawię sobie miejsce na ewentualne uzupełnienia i odpowiedzi na pytania Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.