• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,135
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Baze podataka VBScript UVOD Baze podataka postoje da bi služile potrebama aplikacija. Aplikacija je, na drugoj strani,jedinica softvera koja postoji da bi služila potrebama neke aktivnosti. U savršenom svetu, potrebeaktivnosti određuju zahteve aplikacije, a potrebe aplikacije određuju zahteve baze podataka. Osnovna ideja baze podataka je da čuva podatke na organizovan način. To donosi dve koristi.Prvo, podaci su dostupni za raznovrsna korišćenja unutar nekog poslovnog sistema. Drugo, sobzirom na to da baza podataka ima poznatu strukturu, softverski sistem u kome je smeštena možeda pruži moćne alatke koje proširuju mogućnosti korišćenja. Za monger Web programere početak rada sa bazama podataka je takođe i početak serverskogprogramiranja. Umesto slanja fiksnog sadržaja (Web stranica) čitaču i programiranja čitača daprilagodi prikaz, Web aplikacija, koja radi nad bazama podataka, programira Web server daprilagodi sadržaj pre nego što ga pošalje čitaču. Prilagođavanje može biti jednostavno, tako što će sesvoditi na ubacivanje vrednosti iz upita, ili složeno kao u slučaju generisanja jedinstvene stranice zasvaku kombinaciju posetioca Weba i zahteva. Razvijanje skriptova – kratkih blokova programskog koda visokog nivoa – koji se izvšavajuna Web serveru dosta se razlikuju od razvijanja skriptova koji se izvršavaju na čitaču. • Preovlađujući jezik za programiranje skriptova, koji se izvršavaju na čitaču, je JavaScript. Za serverske skriptove, to je VBScript kod Microsoft Web servera, a za većinu drugih to su Perl, C ili Java. • Većina skriptova na strani čitača odnose se na pitanja vizuelnog predstavljanja. Oni nemaju pristup nijednom drugom delu sistema posetioca Weba, osim prikazu na ekranu. Serverski skriptovi mogu da pristupe svakom resursu na samom serveru i na mreži (pod uslovom, naravno, da je administrator servera odobrio takav pristup). To uključuje datoteke, baze podataka, sisteme elektronske pošte, štampače i faks servere. • Izvršavanje serverskih skriptova troši više serverskih resursa i predstavlja veći sigurnosni rizik od isporučivanja jednostavnih Web stranica. Iz tih razloga, dobijanje dozvole da koristite resurse za primenu serverskog skripta, obično je teže, skuplje, ili resrtiktivnije od dobijanja Web prostora bez mogućnosti korišćenja skripta. 1
  • 2. Baze podataka VBScript VBScript VBScript (Visual Basic Script) je uveden od strane Microsoft-a u Internet Explorer-u,počevši od verzije 3.0, a zasnovan je na Microsoftovom Visual Basic programskom jeziku. Dizjniranza laku upotrebu na Internet-u, VBScript omogućuje potpuno automatizaciju i kontrolu nad webstranama. Zajedno sa ActiveX kontrolama omogućava široku primenu dinamike u web dizajnu.VBScript se može koristiti i na klijentskoj i na serverskoj strani. VBScript ne podržava striktno definisane tipove podataka. VBScript funkcije mogu senalaziti bilo gde unutar HTML koda, uključujući i HEAD i BODY sekcije. Preporučljivo je da se svefunkcije deklarišu na istom mestu, i to uglavnom u BODY sekciji. Veći deo onog što važi kod Visual Basic for Applications, preneće se na VBScript. Međutim,postoje i bitne razlike: - Nedostatak vizuelnog aspekta. Ne može da prikaže prozore ili okvire za dijalog, ne podržava čak ni funkcije MsgBox ili InputBox. Naravno, script može da ispisuje HTML da bi napravio željeni vizuelni prikaz u čitaču Web posetioca. - Implicitno definisanje promenljivih. Obične promenljive ne zahtevaju eksplicitno definisanje u VBScriptu. Da bi se napravila nova promenljiva, dovoljno je početi je koristiti. Sa druge strane, nizove je neophodno deklarisati pre početka korišćenja. - Slabo tipizirane promenljive. VBScript podržava samo dva tipa promenljivih: objekte (lako ih je prepoznati) i varijante (automatski preuzimaju karakteristike podataka od bilo koje vrednosti koje se u njih pohranjuju). Da bismo “primorali” promenljivu da bude određenog tipa, potrebno je upotrebiti neku od funkcija za konverziju tipova. - Objekti koji su jedinstveni za VBScript. Većina objekata se odnosi na pristupanje datotekama i zamenjuju tradicionalne komande, kao što su Open, Line Input, Print, Close, Dir$, FileAttr, i FileDateTime. - Opseg promenljivih. Promenljive napravljene unutar potprograma i funkcija dostupne su samo unutar tih struktura i unutar potprograma ili funkcija koje pozivaju. Da bi se promenljiva ili konstanta učinila dostupnom za sav kod serverskog skripta u Web stranici, potrebno ju je definisati izvan svih funkcija ili potprograma. - Formatirajuće funkcije. U VBScriptu se umesto Format koriste znatno specifičnije naredbe. Argumenti između uglastih zagrada su opcioni - Dodatne funkcije za stringove, kojih nema u drugim oblicima Visual Basica. Većina tih string funkcija podseća na funkcije koje su prethodno bile dostupne samo u Perlu. U narednoj tabeli navedene su nove funkcije koje omogućavaju bolje rukovanje stringovima i nizovima: 2
  • 3. Baze podataka VBScript Funkcija Sintaksa Opis Filter Filter (ulazniStringovi,vrednost Vraća niz koji sadrži sve [, uključuje elemente drugog niza koji [, modelPoređenja]]) sadrže (ili ne sadrže) navedeni podstring. InstrRev InStrRev(string1, string2 Vraća poziciju jednog [, start stringa unutar drugog, [, modelPoređenja]]) pretražujući zdesna ulevo. Join Join(lista Kopira sve elemente niza u [, graničnik]) jedan string, opciono razdvajajući sve elemente niza zadatim znakom. Replace Replace(izraz, pronaći, U datom string izrazu, zamenitiSa zamenjuje jedan podstring [, start drugim i zatim vraća [, brojanje rezultat. [, modelPoređenja]]]) Split Split(izraz Kopira razdvojeni string u [, graničnik jednodimenzionalni niz. [, brojanje Svaki put kada Split pronađe [, modelPoređenja]]]) graničnik, počinje sa kopiranjem u novi elemenat niza. StrReverse StrReverse(string) Obrće redosled znakova u stringu i vraća rezultat – na primer, StrReverse(abc) vraća cba. U nastavku prikazane su definicije samo nekih (od mnogo) procedura VBScripta. Naveden jeopis, spisak parametara (ukoliko ih ima), povratna vrednost (ukoliko je u pitanju funkcija) i primerupotrebe svake procedure. 3
  • 4. Baze podataka VBScript The VarType function returns the following values: Constant Value Description vbEmpty 0 Empty (uninitialized) vbNull 1 Null (no valid data) vbInteger 2 Integer vbLong 3 Long integer vbSingle 4 Single-precision floating-point number vbDouble 5 Double-precision floating-point number vbCurrency 6 Currency vbDate 7 Date vbString 8 String vbObject 9 Automation object vbError 10 Error vbBoolean 11 Boolean vbVariant 12 Variant (used only with arrays of Variants) vbDataObject 13 A data-access object vbByte 17 Byte vbArray 8192 Array STRINGOVIStringovi su textualni tip podataka (niz znakova)Vrste :Lenght Len(var) Broj znakova (dužina riječi)Lower Case Lcase(var) Ispisuje riječ malim slovimaUper Case Ucase(var) Ispisuje riječ malim slovimaLeft Left(var) Pretražuje riječ od lijeve strane 4
  • 5. Baze podataka VBScriptRight Right(var) -||- od desne straneMiddle> 1.parametar-string s kojim Mid(var) -||- od sredineradimo, 2. parametar-pozicijaodakle uzimamo, 3.parametar –broj znakova koliko uzimamoReplace (varijabla,što,u što, Replace() Jedan dio stringa zamjeni spozicija od kojeg mjesta, koliko drugimpromjena(ako je –1, onda mijenjasve riječi), vrste traženja 0- binarno 1- tekstualno 2- baza podatakaStrReverse StrReverse(var) Okreće riječi naopakoString String(koliko ponavljanja, ascii Više puta ispisuje slovo koje kod) smo zadali ascii kodomAsc ASC() Traženje ascii kodova: A->65CHR CHR() Obrnuto od ascii 65->ASPACE Space() Broj razmaka u msgboxuTrim TRIM() Izbacuje razmake sa svih stranaLtrim Ltrim() Izbacuje razmake sa lijeve straneRtrim Rtrim() Izbacuje razmake sa desne straneLower Bound Lbound(niz) Vraća najniži index u nizuUper Bound Ubound(niz) Vraća najviši index u nizuZa ostalo pogledati VBScript dokumentaciju.Primjer 1 :<html><head><script language="vbscript"> <!-- sub window_onload() a="Bok ljudovi ! " document.write "Len-broj slova = " & len(a) & "<br>" document.write "LCase-mala slova = " & lcase(a) & "<br>" document.write "UCase-velika slova = " & ucase(a) & "<br>" c = left(a,4) d = right(a,9) document.write "Lijevo = " & c & "<br>" document.write "Desno = " & d & "<br>" document.write "Sredina rijeci = " & mid(a,3,5) & "<br>" document.write " Promjena rijeci = " & replace(a,"ljudovi","slonovi",1,-1,1) & "<br>" document.write " Promjena taga italic u bold = " &replace("<i>Italic</i>","i>","b>") & "<br>" document.write " Okretanje rijeci naopako = " & StrReverse(a) & "<br>" 5
  • 6. Baze podataka VBScript document.write " Ponavljanje vise puta = " & String(3,13) & "<br>" document.write " ASCII kod od A = " & asc("A") & "<br>" document.write " 65 u ASCII kodu je = " & chr(65) & "<br>" document.write " Brisanje razmaka &nbsp; &nbsp; &nbsp; &nbsp; bokljudovi &nbsp; &nbsp; &nbsp; &nbsp; ! u = " & trim(a) & "<br>" msgbox " Razmaci = " & space(20) & "Kraj" end sub //--> </script> </head> <body bgcolor="#658945"> <center> </center> </body></html>Primjer 2:<html><head><script language="vbscript"> <!-- sub window_onload() a = "Nenad;Mario;Bojan;Mladen;Tomislav" imena = split(a,";") for i = LBound(imena) to UBound(imena) document.write imena(i) & "<br>" next document.write "<hr width=10% align=left>" for each ime in imena document.write ime & "<br>" next end sub //--> </script> </head> <body> </body></html> 6
  • 7. Baze podataka VBScript Pretraživanje stringovaInStr(pozicija,gdje,što, koja komparacija(0-binarno, 1-textualno, 2- baza podataka)InStrRev(gdje,što,pozicija(-1),koja komparacija) - isto kao InStr, samo pretražuje OdozadaPrimjer:<html><head><script language="vbscript"> <!-- sub window_onload() a= " Dobro dosli ljudovi !"document.write " Kljucne rijeci = " & a & "<br>" document.write " Promjena taga italic u bold = " &replace("<i>Italic</i>","i>","b>") & "<br>" document.write " Promjena rijeci = " & replace(a ,"ljudovi","slonovi",1,-1,1)& "<br>" document.write " Trazimo na kojem mjestu pocinje rijec dosli = " &InStr(1,a,"dosli",1) & "<br>" document.write " Trazimo na kojem mjestu pocinje rijec dosli odozada = " &InStrRev(a,"dosli",-1,1) & "<br>" end sub //--> </script> </head> <body bgcolor="#658945"> <center> </center> </body></html> 7
  • 8. Baze podataka VBScript Nizovi stringaSplit- podijeliSplit(a,;)a – varijabla,tj.ime niza koji razdvajamo-razdvaja varijablu koja sadrži neko nabrajanje razdvojeno sa ; u nizPrimjer:<html><head><script language="vbscript"> <!-- sub window_onload() a = "Nenad;Mario;Bojan;Mladen;Tomislav" imena = split(a,";") for i = LBound(imena) to UBound(imena) document.write imena(i) & "<br>" next document.write "<hr width=10% align=left>" for each ime in imena document.write ime & "<br>" next end sub //--> </script> </head> <body> </body></html>Primjer 2:<HTML><TITLE>Current Date/Time 2</TITLE><HEAD><script language=vbscript><!-- sub b1_onclick() 8
  • 9. Baze podataka VBScriptbaza="Drazen;Davor;Nenad;Darko;Tomislav;Mario;Pero;Jura;Stevo;Branko;Branimir;Kreso;Bojan;Mladen" unos=t1.value imena = split(baza,";") for each ime in imena if ucase(ime)=ucase(unos) then found = true exit for else found = false end if next if found then t2.value = "Osoba postoji !" else t2.value = "Osoba ne postoji !" end if end sub//--> </script></head><body bgcolor=black text=white onload="t1.focus"><br><br><br><br><br><br><center><table width=50% height=20% bgcolor=blue border=2 bordercolorlight="#c0c0c0"bordercolordark="#505050"><tr><td align=center><b>Unesite ime :</td><td align=center><input name="t1" type="text" value=""></td><td>&nbsp;<input type="button" name=b1 value="Provjeri !"></td></tr><tr><td></td><td align=center><b>Potvrda !<br><input name="t2" type="text" value="" ></td></tr></table></center></body></html> 9
  • 10. Baze podataka VBScript Funkcije Array,Join,FilterJoinSpajanje slova(riječi), tj redove u rečenicu, tj niz u rečenicuVar=Join(var1,,) Var1- određena varijabla,tj nizArray- funkcija za stvaranje niza Primjer array i join :<html><head><script language="vbscript"> <!-- sub window_onload() a=array("Nenad","Pero","Jura","Mloaden") for each x in a document.write x & "<br>" next b=join(a,", ") document.write "<hr width=20% align=left>" & b end sub //--> </script></head> <body bgcolor="#658945"> </body></html>Filter - iz niza izdvaja samo neke elemente, i od toga odvojenoga niza stvara novi niz 10
  • 11. Baze podataka VBScript - var=Filter(niz,što,true,komparacija)Primjer 1:<html><head><script language="vbscript"> <!-- sub window_onload() a=array("Proanima d.o.o","Gramip d.o.o","Pik Vrbovec d.o.o","Agritecd.o.o","Pliva d.d") x=inputbox("unesi koju vrstu firme treba")b=filter(a,x,true,1) for each c in b isp = isp & c & "<br>" next prv.innerhtml = isp end sub //--> </script> </head> <body bgcolor="#658945"> <p id=prv></p> </body></html> VARIANTITypename – javit će ime stringaIsArray – da li je varijabla nizIsNumeric – da li je varijabla brojIsDate – da li je varijabla datumIsEmpty – da li je polje ili neka varijabla praznaIsNull – posebno stanje kada je polje neupotrebljivo -različito od empty- tj. Polje nije upotrebljivo 11
  • 12. Baze podataka VBScriptPrimjer :<html><head><script language="vbscript"> <!-- sub window_onload() a=12.6545465465465465465465465456465465 document.write vartype(a) & "<br>" document.write typename(a) & "<br>" & "<hr width=20% align=left>" b=#19/9/2001#document.write vartype(b) & "<br>" document.write typename(b) & "<br>" & "<hr width=20% align=left>" c=array("1","2","3") if isarray(C) then document.write "IsArray--Je, to je niz" & "<br>" & "<hr width=20%align=left>"else document.write "Ne, to nije niz" & "<br>" & "<hr width=20% align=left >" end if if isdate(b) then document.write "<body bgcolor=black text=green>" &"IsDate--Je, to je datum"& "<br>" & "<hr width=20% align=left >"else document.write "Ne, to nije datum" & "<br>" & "<hr width=20% align=left > " end if if isnumeric(a) then document.write "IsNumeric--Je, to je broj" & "<br>" & "<hr width=20%align=left>"else document.write "Ne, to nije broj" & "<br>" & "<hr width=20% align=left>" end if if isempty(k) then document.write "IsEmpty--Datum nije upisan" & "<br>" & "<hr width=20%align=left>" end if l=null 12
  • 13. Baze podataka VBScript if isnull(l) then document.write "IsNull--Je, null je" & "<br>" & "<hr width=20% align=left>" end if end sub //--> </script></head> <body bgcolor="#658945"> <center> <p id=prv></p> </body></html> Dinamički niz Dinamički niz je niz u kojem u tijeku izvođenja programa mijenjamo broj elemenata.DIM(6) – fiksni niz od 6 elemenataDIM() - fleksibilan niz sa mogućom promjenomReDim Preserve var(broj elemenata u varijabli)ReDim Preserve a(Ubaund(a)+1) ->trenutni broj elemenata kojem dodajeno još jedanPrimjer:<html><head><script language="vbscript"> <!-- sub window_onload() dim a() redim preserve a(5) ReDim Preserve a(UBound(a)+1) document.write Ubound(a) & "<br>" end sub //--> </script> </head> <body bgcolor="#658945"> <center> <p id=prv></p> </body></html> 13
  • 14. Baze podataka VBScript Z A K LJ U Č A KU ovom eseju nije bilo dovoljno mesta za potpuni opis programskog jezika VBScript. Ipak,kompletan priručnik dostupan je iz raznih izvora sa Weba (adresahttp://msdn.microsoft.com/scripting) 14