Flash Budowanie Szablon贸w 拍卹贸d艂a Danych


Budowanie szablon贸w
yr贸d艂a danych
Gdy tworzymy szablon SWT przypisujemy do niego lub jego obiekt贸w zr贸d艂a danych, kt贸re
zawieraj膮 zmienne wykorzystywane przez 贸w szablon. Mo\emy przypisa膰 zr贸d艂o danych do g艂贸wnej
animacji, do animacji znajduj膮cych si臋 w klipach filmowych, lub do samych obiekt贸w Generatora.
yr贸d艂em danych mo\e by膰 zwyk艂y plik tekstowy, znajduj膮cy si臋 na dysku lokalnym komputera, na
kt贸rym tworzony jest szablon lub znajduj膮cy si臋 w sieci lokalnej, adres URL pliku tekstowego lub
skryptu, kt贸ry wygeneruje odpowiednie dane, wynik zapytania SQL uzyskany dzi臋ki po艂膮czeniu z baza
danych poprzez JDBC/ODBC, lub dane bezpo艣rednio wpisane do okna Data source obiektu lub
animacji. Mo\emy r贸wnie\ przekazywa膰 zmienne poprzez URL (przetwarzanie online) lub wpisywa膰 je
w linii polece艅 (przetwarzanie offline).
Niezale\nie od tego, kt贸ry ze sposob贸w wybierzemy, dane musz膮 by膰 przekazane do szablonu w
odpowiednim formacie. Formaty danych obiekt贸w Generatora zosta艂y om贸wione w rozdziale 5.
 Obiekty Generatora a w dodatku B.  Formaty zr贸de艂 danych znajduj膮 si臋 wyczerpuj膮ce informacje
na temat format贸w danych poszczeg贸lnych obiekt贸w Generatora.
Format danych
Gdy przypisujemy dane do g艂贸wnej animacji, lub te\ do animacji znajduj膮cych si臋 w klipach
filmowych, korzystaj膮c z okna Set Environment (rys.7.1.) mo\emy dostarcza膰 dane w dw贸ch
podstawowych formatach: Nazwa/Warto艣膰 (Name/Value) oraz Kolumny Nazwa/Warto艣膰 (Column
Name/Value).
Rysunek 7.1. Dwa podstawowe formaty danych w oknie Set Environment
Oba typy format贸w r贸\ni膮 si臋 ilo艣ci膮 warto艣ci jakie ka\da ze zmiennych mo\e przyj膮膰. W przypadku
pierwszego formatu (Name/Value), ka\da zmienna mo\e mie膰 tylko jedn膮 warto艣膰 a w drugim
przypadku (Column Name/Value) ka\da zmienna mo\e mie膰 wiele warto艣ci.
Format Kolumny Nazwa/Warto艣膰 jest zalecany wtedy, gdy chcemy przekaza膰 pewien zbi贸r
warto艣ci o tych samych parametrach w postaci kolumny warto艣ci. Ten format jest wykorzystywany
przez wi臋kszo艣膰 obiekt贸w Generatora a do tej pory w tej ksi膮\ce spotkali艣my si臋 z nim wiele razy
(chocia\by podaj膮c dane dla wykresu).
Format Nazwa/Warto艣膰
Podaj膮c dane w formacie Nazwa/Warto艣膰 pierwszy wiersz zr贸d艂a danych musi wygl膮da膰
nast臋puj膮co:
Name, Value
Ka\dy kolejny wiersz jest oddzielnym zbiorem danych w pliku, a dane s膮 podzielone na odpowiednie
kolumny dzi臋ki przecinkowi (,). W trybie Nazwa/Warto艣膰 w kolumnie Name okre艣lamy nazw臋
zmiennej, kt贸rej warto艣膰 przypisujemy w kolumnie Value. Do ka\dej zmiennej mo\e by膰
przyporz膮dkowana tylko i wy艂膮cznie jedna warto艣膰. Cudzys艂贸w ( " " ), w kt贸rym mo\emy zapisa膰
warto艣膰 zmiennej jest opcjonalny a jego u\ycie nie jest konieczne tak d艂ugo, jak d艂ugo nie b臋dziemy
chcieli zawrze膰 w warto艣ci zmiennej znaku przecinka (wszystkie zmienne i tak s膮 traktowane jako
艂a艅cuchy tekstowe):
Name , Value
Zmienna1, "Warto艣膰 1"
Zmienna2, "Warto艣膰 2"
Zmienna3, "Warto艣膰 3"
...
...
Format Kolumny Nazwa/Warto艣膰
W tym formacie w pierwszym wierszu podajemy nazwy zmiennych a w kolejnych wierszach
odpowiednie warto艣ci, tak jak wida膰 to w poni\szym przyk艂adzie:
Zmienna1 , Zmienna2 , Zmienna3 , ...
"Warto艣膰 1 ", "Warto艣膰 2" , "Warto艣膰 3" , ...
"Warto艣膰 1a", "Warto艣膰 2a", "Warto艣膰 3a", ...
"Warto艣膰 1b", "Warto艣膰 2b", "Warto艣膰 3b", ...
... , ... , ... , ...
Jest to naturalny format w jakim zwracane s膮 odpowiedzi zapyta艅 SQL.
Znaki specjalne
Poniewa\ format danych wymaga zastosowania odpowiedniego zapisu, nie wszystkie znaki mo\na
uzyska膰, wpisuj膮c je bezpo艣rednio z klawiatury. Przyk艂adowo nie mo\esz poprzez wpisanie uzyska膰
znaku cudzys艂owu czy te\ przej艣膰 do nowego wiersza z tekstem, poniewa\ w cudzys艂贸w jest u\ywany
do okre艣lania ca艂o艣ci warto艣ci zmiennej a zwyk艂e przej艣cie do nowego wiersza sygnalizuje obiektowi
Generatora, \e ma do czynienia z nowym zestawem danych lub now膮 zmienn膮.
Generator umo\liwia jednak dodanie znak贸w, kt贸re s膮 wykorzystywane w zr贸d艂ach danych do
innych cel贸w. Aby tego dokona膰 nale\y skorzysta膰 ze znaku lewego uko艣nika ( \ ), kt贸ry powinien
poprzedza膰 odpowiedni symbol literowy. Przyk艂adowo:
" aby warto艣膰 zmiennej zawiera艂a znak cudzys艂owu nale\y u\y膰 zapisu \ . Dzi臋ki temu Generator
przetwarzaj膮cy wzorzec  zrozumie , \e powinien wstawi膰 znak ( " ) do zmiennej:
zmienna = "Czytacie pa艅stwo ksi膮\k臋 pt. \"Generator. Nast臋pny krok \" "
W wyniku tego przypisania zmienna zmienna b臋dzie mia艂a warto艣膰:
Czytacie pa艅stwo ksi膮\k臋 pt. "Generator. Nast臋pny krok"
" aby uzyska膰 przej艣cie do nowego wiersza mo\na skorzysta膰 z zapisu \r lub \n. Wtedy Generator
wstawi w miejsce wyst膮pienia znaku specjalnego znak ko艅ca linii:
zmienna = "Oto pierwsza linia. \r \n Oto druga linia"
Zmienna b臋dzie teraz mia艂a nast臋puj膮c膮 warto艣膰:
Oto pierwsza linia
Oto druga linia
" znak lewego uko艣nika \ mo\emy uzyska膰 je艣li po pierwszym znaku uko艣nika, kt贸ry informuje
Generator, \e powinien spodziewa膰 si臋 znaku specjalnego, wpiszemy drugi lewy uko艣nik ( \\ ):
zmienna = "Zdanie podzielone \\ lewym uko艣nikiem"
Warto艣膰 zmiennej zmienna wynosi:
Zdanie podzielone \ lewym uko艣nikiem
Od powy\szej zasady istniej膮 dwa wyj膮tki. Pierwszy wyj膮tek wyst膮pi wtedy, gdy b臋dziemy chcieli
uzyska膰 znak przecinka. Wystarczy wtedy ograniczy膰 warto艣膰 zmiennej cudzys艂owem a przecinek,
kt贸ry jest normalnie interpretowany przez Generator jako koniec danych w jednej kolumnie i
rozpocz臋cie danych w drugiej kolumnie w jednym wierszu, zostanie w cudzys艂owu zignorowany (tj.
potraktowany jako warto艣膰 zmiennej).
Drugim wyj膮tkiem jest pr贸ba umieszczenia w zmiennej znak贸w: otwarcia nawiasu klamrowego ( { )
oraz zamkni臋cia nawiasu klamrowego ( } ). Poniewa\ wszystko co znajduje si臋 wewn膮trz nawias贸w
klamrowych jest przez Generator traktowane jako jego zmienna wewn臋trzna, taki ci膮g tekstowy, np.:
zmienna = "Warto艣膰 w {nawiasach}"
nie zostanie wy艣wietlony, poniewa\ Generator uzna \e zmienna nawiasach zawiera 艂a艅cuch pusty
(albo, co gorsze, gdzie艣 w pliku z danymi mamy zmienn膮 o takiej nazwie i w tym miejscu pojawi膮 si臋
warto艣ci, kt贸rych mo\e wcale nie chcieliby艣my ogl膮da膰). Aby m贸c wy艣wietli膰 znaki { oraz } trzeba
skorzysta膰 z nast臋puj膮cego zapisu:
zmienna = "Warto艣膰 w {{nawiasach}}"
Okre艣lanie koloru
Z kolorem spotkali艣my si臋 w tej ksi膮\ce ju\ wielokrotnie wi臋c poj臋cie koloru i jego trzech
sk艂adowych czerwonej, zielonej i niebieskiej nie powinno by膰 nam obce. Kolory dla obiekt贸w
Generatora i jego zmiennych mo\emy okre艣la膰 na trzy sposoby:
" Poda膰 kolory z bezpiecznej palety poprzez bezpo艣rednie okre艣lenie ich nazwy (np.: black);
" Poda膰 kolor w postaci szesnastkowej z wykorzystaniem znaku # np.: #33AACC (wielko艣膰 liter nie
ma znaczenia);
" Poda膰 kolor w tradycyjnej postaci szesnastkowej z wykorzystaniem przedrostka 0x (np.:
0x33AACC).
Kolory podane wg sposobu drugiego i trzeciego s膮 identyczne.
Kolumna okna
Je艣li w zr贸dle danych posiadamy kolumn臋 URL, w kt贸rej znajduje si臋 adres URL dokument贸w, to
mo\emy r贸wnie\ utworzy膰 kolumn臋 WINDOW, w kt贸rej b臋dzie mo\na poda膰 spos贸b w jaki Flash
Player powinien otworzy膰 \膮dany dokument w oknie przegl膮darki. Mo\liwo艣ci jakimi dysponujemy to:
" _self  oznacza, \e dokument HTML zostanie za艂adowany do tej samej ramki w oknie
przegl膮darki, w kt贸rej znajduje si臋 animacja \膮daj膮ca otworzenia dokumentu z pod podanego
adresu URL;
" _blank  oznacza, \e dokument HTML zostanie otwarty w nowym oknie przegl膮darki;
" _top  oznacza, \e dokument HTML zostanie za艂adowany do najwy\szej w hierarchii okna
ramki;
" _parent- oznacza, \e dokument HTML zostanie za艂adowany do ramki nadrz臋dnej;
" je艣li wpiszemy nazw臋, dokument HTML b臋dzie za艂adowany do ramki o wyszczeg贸lnionej
nazwie. Je艣li taka ramka nie istnieje zostanie otworzone nowe okno.
Jak Generator interpretuje dane ze zr贸d艂a danych
Podczas przetwarzania przez Generator szablonu SWT, ci膮g tekstowy, kt贸ry zawarty jest w oknie
Data source (a dok艂adniej w oknie Set Environment lub w oknie obiektu Generatora, kt贸re otwieramy
klikaj膮c na w艂a艣ciwo艣ci Data Source)) jest sprawdzany ze wzgl臋dy na wyst臋powanie znaku #
(rys.7.2.).
Rysunek 7.2. Je艣li w oknie w艂a艣ciwo艣ci Data source lub w oknie Set Environment jako pierwszy
znak wyst臋puje znak #, to tekst zawarty w tym oknie jest traktowany przez Generator jako naturalne
zr贸d艂o danych, w przeciwnym razie tekst jest traktowany jako 艣cie\ka dost臋pu do zr贸d艂a danych
umieszczonego gdzie艣 w Internecie
Je艣li znak # wyst臋puje, to tekst zawarty w polu tekstowym jest traktowany jako naturalne zr贸d艂o
danych, kt贸re mo\e by膰 zinterpretowane w spos贸b bezpo艣redni. Je艣li nie ma znaku #, to Generator
traktuje znajduj膮cy si臋 w polu tekstowym 艂a艅cuch znak贸w jako 艣cie\k臋 dost臋pu (adres URL) zr贸d艂a
danych na dysku lokalnym lub w Internecie.
Aadowanie danych z zewn臋trznych zr贸de艂
Pliki tekstowe i proste skrypty wykonywane po stronie serwera
Okre艣laj膮c jako zr贸d艂o danych adres URL mo\emy uzyska膰 dane z odleg艂ych (czyt. nie
znajduj膮cych si臋 na komputerze, na kt贸rym jest przetwarzany szablon SWT) zr贸de艂 danych, kt贸re
mog膮 znajdowa膰 si臋 znajduje w dowolnym miejscu, pod warunkiem, \e mo\na do nich dotrze膰 za
pomoc膮 adresu URL.
UWAGA!!! Na tej samej zasadzie dzia艂a podawanie 艣cie\ki dost臋pu do danych znajduj膮cych si臋 na
dysku lokalnym, z tym, \e wtedy dane s膮 pod r臋k膮, a ze wzgl臋du na specyfik臋 Generatora ma to sens,
jedynie wtedy, gdy testujmy nasze projekty.
Okre艣laj膮c zr贸d艂a danych poprzez adres URL mo\emy korzysta膰 z protoko艂贸w transmisji HTTP, FTP
oraz FILE. Warto艣膰 jaka jest zwracana w odpowiedzi musi by膰 plikiem tekstowym w odpowiednim
formacie. Korzystanie z danych URL umo\liwia nam za艂adowanie bezpo艣rednio z sieci pliku
tekstowego, lub te\, co ma wi臋kszy sens, umo\liwia wywo艂ywanie skrypt贸w wykonywanych po stronie
serwera (np. Perl, ASP lub inne), kt贸rych wynikiem jest zawsze tekst w odpowiednim formacie.
Najlepiej si臋 jednak o tym przekonamy gdy wykonamy poni\sze 膰wiczenie.
膯wiczenie
1. Upewnijmy si臋, \e nasz serwer WWW jest uruchomiony.
2. Otw贸rzmy notatnik i wpisz do niego nast臋puj膮cy tekst:
Value, Color
13, #223a76
17, #76bcad
20, #76adcf
5, #ccdcfa
14, #115566
26, #cdbaff
Plik ten zapiszmy jako dane.txt w katalogu domowym serwera WWW.
3. Stw贸rzmy we Flashu nowy projekt.
4. Umie艣膰my w obszarze roboczym obiekt Pie chart z panelu Generator Objects i korzystaj膮c z
narz臋dzia skalowania dopasujmy wielko艣膰 obiektu do bia艂ej przestrzeni obszaru roboczego.
5. Jako w艂a艣ciwo艣膰 Data source wpiszmy:
http://localhost/dane.txt
6. Opublikujmy animacj臋.
Generator pobierze dane z pod podanego adresu i stworzy wykres (rys.7.3.). Warto zauwa\y膰, \e
do tego niewielkiego eksperymentu nie potrzebujemy wcale dzia艂aj膮cego w tle komponentu
Online Generatora. Komponent Authoring extensions sam zajmie si臋 wszystkim, tak jak to robi艂
do tej pory.
Rysunek 7.3. Wykres, kt贸rego dane zosta艂y pobrane z  Internetu
7. Zatrzymajmy teraz us艂ug臋 serwera WWW przy pomocy mened\era PWM (kliknijmy w oknie
mened\era przycisk Zatrzymaj) i ponownie opublikujmy szablon SWT.
Na rysunku 7.4. wida膰 co dostaniemy teraz w odpowiedzi od Generatora. B艂膮d, kt贸ry zosta艂
wygenerowany jasno informuje nas o tym, \e nie mo\na odnalez膰 zr贸d艂a danych  Unable to find
data source.
Rysunek 7.4. Po wy艂膮czeniu serwera WWW, Generator nie potrafi zinterpretowa膰 adresu URL
8. Uruchommy ponownie us艂ug臋 serwera WWW.
Teraz napiszemy skrypt ASP, kt贸ry generuje dane dla wykresy w spos贸b losowy.
9. Otw贸rzmy notatnik i wpiszmy tam nast臋puj膮cy tekst:
Value, Color
<%
'Inicjalizacja generatora losuj膮cego warto艣ci膮 zegara systemowego
Randomize
'P臋tla wykonywana jest dziesi臋膰 razy,
'czyli powstanie dziesi臋膰 element贸w wykresu Pie chart
For I = 1 To 10
'Losowanie Warto艣ci elementu
Response.Write Round(Rnd*100)
'Tworzenie i losowanie warto艣ci koloru dla elementu
Response.Write ", #"
For J = 1 To 6
'Losowanie koloru dla elementu
A = Round(Rnd*16)
'Zmienna Zmn jest inicjowana zmienn膮 A.
'Warto艣膰 liczbowa zmiennej A jest zamieniana przez
'funkcj臋 CStr na warto艣膰 tekstow膮.
Zmn = CStr(A)
'Je艣li zmienna A jest wi臋ksza ni\ 9, to zmiennej Zmn
's膮 przypisywane odpowiednie litery w kodzie szesnastkowym
If A = 10 Then Zmn = "A"
If A = 11 Then Zmn = "B"
If A = 12 Then Zmn = "C"
if A = 13 Then Zmn = "D"
if A = 14 Then Zmn = "F"
Response.Write (Zmn)
Next
'Przej艣cie do nowej linii
Response.Write chr(13)
Next
%>
Zapiszmy ten plik jako dane.asp, w katalogu domowym serwera WWW. Powy\szy skrypt tworzy
losowo dane dla obiektu Pie char. Element贸w na wykresie b臋dzie dziesi臋膰 (iteracja w pierwszej
p臋tli for przebiega dziesi臋膰 razy) a ich warto艣膰 oraz kolory s膮 (prawie) ca艂kowicie przypadkowe.
Aby sprawdzi膰 poprawno艣膰 dzia艂ania skrypt贸w, kt贸re maj膮 stanowi膰 zr贸d艂o danych dla obiekt贸w
Generatora, dobrze jest uruchomi膰 skrypt najpierw w przegl膮darce internetowej a dopiero p贸zniej
 podpi膮膰 go do konkretnego obiektu (no chyba, \e jeste艣my pewni poprawno艣ci dzia艂ania skryptu).
Ogl膮daj膮c skrypt w przegl膮darce (a dok艂adniej, przegl膮daj膮c jego zr贸d艂o), b臋dziemy wiedzie膰 jak
wygl膮daj膮 przyk艂adowe dane wygenerowane przez skrypt.
10. Otw贸rzmy przegl膮dark臋 internetow膮 i w polu adresu wpiszmy 艣cie\k臋 dost臋pu do stworzonego
przed chwil膮 skryptu, czyli.:
http://localhost/dane.asp
Po naci艣ni臋ciu klawisza ENTER w oknie przegl膮darki powinien pojawi膰 si臋 tekst podobny do tego
z rysunku 7.5.
Rysunek 7.5. Dzia艂anie skryptu ASP testowane w przegl膮darce internetowej
Wiedz膮c jaki format danych jest niezb臋dny dla obiektu Pie chart mo\emy 艂atwo zweryfikowa膰
dzia艂anie skryptu poprzez przejrzenie zr贸d艂a strony WWW (rys.7.5.) Jak wida膰 w powy\szym
kodzie wszystko jest w porz膮dku.
11. Teraz, gdy jeste艣my ju\ pewni, \e skrypt generuje poprawne wyniki, mo\emy przy艂膮czy膰 go
bezpo艣rednio do obiektu Pie chart, podaj膮c podobnie jak w przegl膮darce internetowej, 艣cie\k臋
dost臋pu do pliku dane.asp jako w艂a艣ciwo艣膰 Data source obiektu.
Cech膮 charakterystyczn膮 tego rozwi膮zania jest fakt, \e za ka\dym gdy opublikujemy animacj臋
dostaniemy inny wykres.
Korzystanie z danych JDBC/ODBC
Mo\emy u\y膰 komponentu JDBC/ODBC jako bezpo艣redniego zr贸d艂a danych dla obiekt贸w
Generatora. W systemie Windows nale\y najpierw zarejestrowa膰 zr贸d艂o danych aby stworzy膰
mapowanie mi臋dzy baz膮 danych a systemem (o tym za chwil臋). Nast臋pnie ju\ bezpo艣rednio mo\na
pobiera膰 dane z bazy danych, podaj膮c odpowiednie polecenia jako warto艣膰 w艂a艣ciwo艣ci Data Source.
Nie ma sensu aby艣my  na sucho obja艣niali sobie ca艂y z艂o\ony proces generowania szablon贸w
SWT w oparciu informacje zawarte w bazie danych. Dlatego te\ od razu wykonamy do艣膰 z艂o\one
膰wiczenie, kt贸re dok艂adnie poka\e to o czym tutaj m贸wimy.
膯wiczenie
Poniewa\ w tej ksi膮\ce pracuje si臋 przede wszystkim w systemie Windows, 膰wiczenie tak\e b臋dzie
dotyczy膰 operacji w systemie Windows. W omawianym zagadnieniu g艂贸wne r贸\nice wyst臋puj膮
mapowaniu komponentu ODBC bazy danych z systemem operacyjnym. Spos贸b tworzenia zr贸d艂a
danych om贸wili艣my sobie w rozdziale 3.  Podstawy ASP .
1. Aby mo\na by艂o wykona膰 膰wiczenie w systemie operacyjnym musi istnie膰 zr贸d艂o danych ODBC.
Niech owe zr贸d艂o b臋dzie mia艂o nazw臋 Baza, niech b臋dzie to systemowe DSN (System DSN).
Plik z baz膮 danych dla zr贸d艂a mo\emy znalez膰 w katalogu Rozdzial07\Cwiczenia\db1.mdb. Jest to
prosta baza danych, zawieraj膮c膮 tylko jedn膮 tabel臋, kt贸ra zawiera dane dla wykresu Basic
charts, kt贸ry w tym 膰wiczeniu po艂膮czymy bezpo艣rednio z t膮 baz膮 (rys.7.6.).
Rysunek 7.6. Poprawnie skonfigurowane zr贸d艂o danych o nazwie Baza
2. Stw贸rzmy teraz we Flashu now膮 animacj臋.
3. Umie艣膰my w obszarze roboczym obiekt Basic charts, a nast臋pnie jako w艂a艣ciwo艣膰 Data Source
wpiszmy nast臋puj膮cy ci膮g tekstowy (rys.7.7.):
Rysunek 7.7. Zapytanie SQL kierowane bezpo艣rednio do zr贸d艂a danych Baza
fgjdbc:///?driver=sun.jdbc.odbc.JdbcOdbcDriver& ->
url=jdbc:odbc:Baza&userid=&password=& ->
query=SELECT%20*%20FROM%20Tabela
Mo\e si臋 wydawa膰 to troch臋 skomplikowane, ale wcale tak nie jest. Oto wyja艣nienie tego z pozoru
zagmatwanego zapisu (znak -> oznacza kontynuacj臋 wiersza):
a) fgjdbc:/// - informuje obiekt Generatora, aby reszt臋 adresu interpretowa艂 jako ci膮g
znak贸w, kt贸ry 艂膮czy z systemowym zr贸d艂em danych JDBC/ODBC i zadaje pytanie SQL.
Innymi s艂owy, po tym zapisie obiekt Generatora b臋dzie wiedzia艂, \e dane b臋d膮 pobierane przy
pomocy komponentu ODBC (w naszym przypadku) z bazy danych;
b) ?driver=sun.jdbc.odbc.JdbcOdbcDriver  okre艣la kontroler, przy pomocy kt贸rego
Generator (a og贸lniej dowolna aplikacja) komunikuje si臋 z baza danych. Je艣li, tak jak w
wypadku wykonywanego 膰wiczenia 艂膮czymy si臋 ze zr贸d艂em danych ODBC, nic nie zmieniamy
w powy\szym zapisie, jednak je艣li korzystamy z podstawowego kontrolera JDBC np. dla
Oracle zapis ten mo\e wygl膮da膰 nast臋puj膮co:
?driver=oracle.jdbc.driver.OracleDriver
Szczeg贸艂y mo\na znalez膰 w dokumentacji do艂膮czonej do aplikacji bazodanowej, z kt贸rej
korzystamy;
c) url=jdbc:odbc:Baza  adres URL okre艣laj膮cy nazw臋 zr贸d艂a danych ODBC. Format
og贸lny, to:
url=jdbc:odbc:Nazwa_zr贸d艂a_danych
W przypadku tego 膰wiczenia zr贸d艂o danych nazywa si臋 Baza i dlatego nale\y u\y膰 w艂a艣nie
tego zapisu;
d) &userid= &password= - elementy okre艣laj膮 identyfikator u\ytkownika (user ID) oraz has艂o
dost臋pu do bazy danych (password), kt贸re mog膮 by膰 wymagane przez baz臋 danych. Og贸lny
format, to:
&userid=indentyfikator->
&password=has艂o->
Je艣li, tak jak w przypadku tego 膰wiczenia, baza danych nie oczekuje identyfikatora i has艂a,
mo\emy ich nie podawa膰, jednak zawsze musimy u\y膰 zapisu &userid= oraz &password=
inaczej kontroler ODBC wygeneruje b艂膮d;
e) query=SELECT%20*%20FROM%20Tabela  zapytanie wysy艂ane w j臋zyku SQL do bazy
danych poprzez komponent ODBC.
Zapisz powy\szy oznacza:
SELECT * FROM Tabela
Co mo\na przet艂umaczy膰: Wyselekcjonuj zawarto艣膰 wszystkich kolumn z tabeli Tabela.
Zapis %20 oznacza przerw臋 mi臋dzy literami (spacj臋). U\ywanie tego zapisu jest konieczne,
poniewa\ tre艣膰, kt贸ra stanowi warto艣膰 w艂a艣ciwo艣ci Data source obiektu Basic Charts jest
interpretowana przez Generator jako adres URL (tyle, \e specyficzny). Znak &, oddziela
poszczeg贸lne elementy adresu od siebie;
Teraz wystarczy opublikowa膰 animacj臋. Obraz, kt贸ry uzyskamy b臋dzie wygl膮da艂 tak jak na
rysunku 7.8.
Rysunek 7.8. Wynik zapytania SQL do bazy danych db1.mbd widoczny na wykresie s艂upkowym
A膮czenie z baz膮 danych przy pomocy skrypt贸w
Nie zawsze bezpo艣rednie po艂膮czenie z baza danych jest dobrym rozwi膮zaniem. Czasami dane
b臋d膮ce odpowiedzi膮 bazy danych na zapytanie SQL wymagaj膮 obr贸bki zanim zostan膮 ostatecznie
wys艂ane do klienta (Generatora w procesie przetwarzania szablonu SWT). Jedynym sposobem, kt贸ry
umo\liwia jednoczesn膮 komunikacj臋 z baz膮 danych i przetwarzanie otrzymanych z niej wynik贸w, jest
tworzenie skrypt贸w wykonywanych na serwerze. W 膰wiczeniu, kt贸re znajduje si臋 poni\ej napiszemy
skrypt ASP, kt贸ry 艂膮czy si臋 z baz膮 danych db1.mdb i komunikuje si臋 z ni膮 przy pomocy zapyta艅 SQL.
1. Upewnijmy si臋, \e mamy uruchomion膮 us艂ug臋 serwera WWW.
W tym 膰wiczeniu korzystamy ze zr贸d艂a danych, kt贸re stworzyli艣my w poprzednim przyk艂adzie.
2. Otw贸rzmy notatnik i wpiszmy do niego nast臋puj膮cy tekst:
Value, Color
<%
'Tworzenie obiektu 艂膮cz膮cego
Set Polaczenie = Server.CreateObject("ADODB.Connection")
'Otwieranie po艂膮czenia z baz膮 danych
Polaczenie.Open "Baza"
'Proste zapytanie SQL, przypisywane do zmiennej
ZapytanieSQL = "SELECT * FROM Tabela"
'Inicjowanie obiektu Kolumny jako wyniku zapytania SQL
Set Kolumny = Polaczenie.Execute(ZapytanieSQL)
'P臋tla Do Until ... Loop jest wykonywana dop贸ki w obiekcie Kolumny
'znajduj膮 si臋 elementy z tabeli Tabela
Do Until Kolumny.EOF
'Wysy艂anie kolejnych warto艣ci z kolumny Value do klienta
Response.Write (Kolumny("Value"))
Response.Write (", ")
'Wysy艂anie kolejnych warto艣ci z kolumny Color do klienta
Response.Write (Kolumny("Color"))
'Przej艣cie do nowego wiersza
Response.Write Chr(13)
'Nast臋pny element obiektu Kolumny
Kolumny.MoveNext
Loop
%>
Zapiszmy stworzony przed chwil膮 plik w katalogu domowym serwera WWW pod nazw膮
skryptDB.asp. Dok艂adne informacje o sposobie tworzenia po艂膮czenia z baz膮 danych znajdziemy w
rozdziale 3.  Podstawy ASP .
Jak wida膰 z powy\szego skryptu, baza danych w tym wypadku mo\e by膰 zupe艂nie dowolna, a
dok艂adniej, tabela, z kt贸rej odczytywane s膮 dane dla obiekt贸w Generatora nie musi zawiera膰
specyficznych kolumn (np. Color i Value), poniewa\ to w skrypcie nast臋puje interpretacja danych
otrzymanych z tabeli (zwr贸膰my uwag臋, \e na pocz膮tku skryptu znajduj膮 si臋 s艂owa Value oraz
Color).
脫w mechanizm komunikacji z baz膮 danych jest bardziej skomplikowany ni\ ten om贸wiony w
poprzednim 膰wiczeniu, ale za to nie narzuca projektantowi bazy danych \adnych ogranicze艅. Jest
to szczeg贸lnie wa\ne gdy baza danych tylko przy okazji stanowi zr贸d艂o danych dla obiekt贸w
Generatora (dla serwisu WWW), natomiast jej podstawowym zadaniem jest gromadzenie
informacji o klientach, produktach, itp. oraz udost臋pnianie tych danych personelowi organizacji lub
firmy w przyjazny spos贸b.
3. Otw贸rzmy skrypt w przegl膮darce internetowej, aby sprawdzi膰 jego poprawno艣膰. Gdy wy艣wietlimy
zr贸d艂o dokumentu, kt贸ry znajduje si臋 w oknie przegl膮darki, powinno ono wygl膮da膰 nast臋puj膮co:
Value, Color
15, #ad3212
16, #5467ac
74, #edcf13
34, #34adcf
100, #2343ad
5, #4356ff
64, #1276ff
124, #65ffcd
45, #54dcfa
25, #98f3a2
Analizuj膮c otrzymane wyniki mo\emy bardzo szybko oceni膰 czy skrypt jest poprawny, por贸wnuj膮c
to co otrzymamy z danymi w bazie, z kt贸r膮 si臋 komunikujemy. Je艣li gdzie艣 w skrypcie wyst膮pi膮
b艂臋dy mo\na je poprawi膰 i nacisn膮膰 przycisk Od艣wie\ (Refresh) w przegl膮darce internetowej, aby
zobaczy膰 ponownie wyniki.
4. Wr贸膰my teraz do Flasha i jako warto艣膰 w艂a艣ciwo艣ci Data source obiektu Basic Chart, podajmy
艣cie\k臋 dost臋pu do stworzonego przed chwil膮 skryptu.:
http://localhost/skryptDB.asp
Po opublikowaniu animacji powinni艣my uzyska膰 obraz jak na rys.7.8.
Podsumowanie
W tym rozdziale poszerzyli艣my swoj膮 wiedz臋 na temat zr贸de艂 danych, kt贸re s膮 nieodzowne dla
szablon贸w Generatora. Dowiedzieli艣my si臋 w jaki spos贸b 艂adowa膰 dane z pliku tekstowego poprzez
URL, jak wykorzysta膰 skrypty ASP, do tworzenia danych dla obiekt贸w Generatora, oraz w jaki spos贸b
komunikowa膰 si臋 bezpo艣rednio z baz膮 danych, kt贸ra w praktyce jest najcz臋stszym zr贸d艂em danych
dla obiekt贸w Generatora umieszczonych w jego szablonach SWT.
Mo\emy teraz przej艣膰 do trzeciej i ostatniej cz臋艣ci tej ksi膮\ki pt.  Budowanie serwis贸w , w kt贸rej
dowiemy si臋 z rozdzia艂u 8.  Publikowanie szablon贸w jak publikowa膰 gotowe szablony SWT, tak aby
mo\na z nich by艂o korzysta膰 na stronach internetowych a w rozdziale 9.  Przyk艂adowy projekt 
Wirtualna Ksi臋garnia poznamy w jaki spos贸b stworzy膰 przy pomocy programu Dreamweaver 4.0
niezbyt skomplikowany serwis ksi臋garni internetowej, zawieraj膮cy szablony SWT.


Wyszukiwarka

Podobne podstrony:
Flash Budowanie Szablon贸w
18 Szablony wizualizacji danych
01 Podstawowe metody badania i 藕r贸d艂a danych w psychologii osobowo艣ci
informatyka joomla budowa i modyfikacja szablonow pawel frankowski ebook
殴r贸d艂a i zasady zbierania danych o stanie zdrowia populacji
03 Budowanie bazy danych
Budowanie bazy danych
budowa lunety?lowniczej
Budowa robotow dla poczatkujacych budrob
Makroskopowa budowa mi臋艣nia
Budowanie wizerunku firmy poprzez architektur臋
Gaza w staroegipskich 藕r贸d艂ach historycznych
9 szablonAI

wi臋cej podobnych podstron