bd2 06 211b, bd2 06 211b id14, Bazy Danych 2 - Laboratorium


Bazy Danych 2 - Laboratorium

Laboratorium nr. 6

Data: 29.05.2012

Godz. 09:50-11:20

Skład zespołu:

Grupa: 211B

Plik uruchom.bat

loadpsp -replace -user id14/id14@student D:\211B\lab6\z1.psp

loadpsp -replace -user id14/id14@student D:\211B\lab6\z2.psp

loadpsp -replace -user id14/id14@student D:\211B\lab6\z2wy.psp

loadpsp -replace -user id14/id14@student D:\211B\lab6\z3.psp

loadpsp -replace -user id14/id14@student D:\211B\lab6\z5.psp

loadpsp -replace -user id14/id14@student D:\211B\lab6\z5wy.psp

pause

Zad 1. Napisz procedurę, która na stronie WWW wyświetli bieżącą datę.

Plik z1.psp

<%@ page language="PL/SQL" %>

<%@ plsql procedure="id14z1" %>

<HTML>

<HEAD><TITLE>Zadanie 1 </TITLE> </HEAD>

<BODY>

<CENTER>

<BR>

<TABLE BORDER=20 BGCOLOR="#FFFFFF">

<TR>

<TD ALIGN=CENTER VALIGN=CENTER>

<FONT SIZE=5 COLOR="#000000">

<P> <B>

&nbsp;

Data <%= To_Char(SYSDATE, ' dd-MM-YYYY') %> &nbsp;

</B> </P>

</FONT>

</TD>

</TR>

</TABLE>

</CENTER>

</BODY>

</HTML>

0x01 graphic

Zad 2. Napisz formularz który umożliwi rozwiązywanie równania kwadratowego.

Plik z2.psp

<%@ page language="PL/SQL" %>

<%@ plsql procedure="id14z2" %>

<HTML>

<HEAD>

<TITLE>ZADANIE 2 </TITLE>

</HEAD>

<BODY>

<FORM ACTION="id14z2wY" METHOD="GET">

<b>Równanie kwadratowe a*x^2+b*x+c</b><br>

A:<br>

<INPUT TYPE="text" NAME="a" SIZE="3" MAXLENGTH="3">

<br>

B:<br>

<INPUT TYPE="text" NAME="b" SIZE="3" MAXLENGTH="3">

<br>

C:<br>

<INPUT TYPE="text" NAME="c" SIZE="3" MAXLENGTH="3">

<br>

<INPUT TYPE="submit" VALUE="Oblicz">

</FORM>

</BODY>

</HTML>

Plik z2wy.psp

<%@ page language="PL/SQL" %>

<%@ plsql procedure="id14z2wy" %>

<%@ plsql parameter="a" type="VARCHAR2" default="NULL" %>

<%@ plsql parameter="b" type="VARCHAR2" default="NULL" %>

<%@ plsql parameter="c" type="VARCHAR2" default="NULL" %>

<%!

lA NUMBER;

lB NUMBER;

lC NUMBER;

del NUMBER;

x1 FLOAT;

x2 FLOAT;

pdel FLOAT;

puste_a EXCEPTION;

puste_b EXCEPTION;

puste_c EXCEPTION;

czy_a_zero EXCEPTION;

czy_liczba EXCEPTION;

PRAGMA EXCEPTION_INIT(czy_liczba, -6502);

%>

<%

IF a IS NULL THEN RAISE puste_a; END IF;

IF b IS NULL THEN RAISE puste_b; END IF;

IF c IS NULL THEN RAISE puste_c; END IF;

IF (a=0) THEN RAISE czy_a_zero; END IF;

%>

<HTML>

<HEAD>

<TITLE>ZADANIE 2 - wynik</TITLE>

</HEAD>

<BODY>

<b>Wynik</b> <br>

<%

lA := a;

lB := b;

lC := c;

del := (lB*lB)-4*lA*lC;

IF (del > 0) THEN

SELECT SQRT(del) INTO pdel FROM dual;

x1 := ((-1*lB)-pdel)/(2*lA);

x2 := ((-1*lB)+pdel)/(2*lA); %>

<b> x1:</b> <%= to_char(ROUND(x1,2)) %> <br><b> x2:</b> <%= to_char(ROUND(x2,2)) %>

<%

ELSE

IF (del = 0) THEN

x1:=(lB*-1)/(2*lA);

%>

<b>x1:</b> <%= to_char(ROUND(x1,2)) %>

<%

ELSE

SELECT SQRT(del*-1) INTO pdel FROM dual; %>

<b>x1=</b> <%= to_char(ROUND((lB*-1)/(2*lA),2)) %> + <%= to_char(ROUND(pdel/(2*lA),2)) %> i

<br><b>x2=</b> <%= to_char(ROUND((lB*-1)/(2*lA),2)) %> - <%= to_char(ROUND(pdel/(2*lA),2)) %> i

<%

END IF;

END IF;

%>

<%

EXCEPTION

WHEN puste_a THEN %>

Parametr "a" jest pusty!

<% WHEN puste_b THEN %>

Parametr "b" jest pusty!

<% WHEN puste_c THEN %>

Parametr "c" jest pusty!

<% WHEN czy_liczba THEN %>

Parametry musza być liczbami

<% WHEN czy_a_zero THEN %>

Parametr "a" musi być rozny od zera

</BODY>

</HTML>

0x01 graphic

Błędne dane

0x01 graphic

Poprawne dane

0x01 graphic

Zad 3. Napisz procedurę, która wyświetli dane z wybranej tabeli.

Plik z3.psp

<%@ page language="PL/SQL" %>

<%@ plsql procedure="id14z3" %>

<%!

prawda BOOLEAN;

%>

<HTML>

<HEAD>

<TITLE>ZADANIE 3 - wynik</TITLE>

</HEAD>

<BODY>

<b>DANE Z TABELI STUDENT</b> <br>

<% prawda := owa_util.tableprint('id14.student',NULL,1,'*',NULL); %>

</BODY>

</HTML>

0x01 graphic

Zad 5. Przerób procedurę z punkt drugiego tak aby nazwę tabeli podawać jako parametr wywołania procedury.

Plik z5.psp

<%@ page language="PL/SQL" %>

<%@ plsql procedure="id14z5" %>

<%!

CURSOR kur IS select TABLE_NAME from ALL_TABLES WHERE OWNER = 'ID14' ;

%>

<HTML>

<HEAD>

<TITLE>ZADANIE 5</TITLE>

</HEAD>

<BODY>

<b>Wybierz jaka tabele chcesz wyswietlic </b> <br>

<FORM ACTION="id14z5wy" METHOD="GET">

<SELECT NAME="tabela" SIZE="5">

<%

for o in kur loop

%>

<OPTION><%= o.TABLE_NAME %>

<%

end loop;

%>

</SELECT>

<INPUT TYPE="submit" VALUE="OK">

</FORM>

</BODY>

</HTML>

Plik z5wy.psp

<%@ page language="PL/SQL" %>

<%@ plsql procedure="id14z5wy" %>

<%@ plsql parameter="tabela" type="VARCHAR2" default="NULL" %>

<%!

prawda BOOLEAN;

puste EXCEPTION;

czy_istnieje EXCEPTION;

ile NUMBER;

%>

<HTML>

<HEAD>

<TITLE>ZADANIE 5</TITLE>

</HEAD>

<BODY>

<%

IF tabela IS NULL THEN RAISE puste; END IF;

SELECT count(TABLE_NAME) INTO ile FROM ALL_TABLES WHERE TABLE_NAME = tabela;

IF (ile = 0) THEN RAISE czy_istnieje; END IF;

%>

<b>DANE Z TABELI <font color="red"> "<%= tabela %>" </font></b>

<br> <br>

<%

prawda := owa_util.tableprint('id14.' || tabela ,NULL,1,'*',NULL);

%>

<br> <br>

<a href="id14z5"><font color="black">Do strony glownej</font></a>

<%

EXCEPTION

WHEN puste THEN %>

Podaj nazwe tabeli!

<% WHEN czy_istnieje THEN %>

Taka tabela nie istnieje

</BODY>

</HTML>

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
cw4 08 stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw8 1 03stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw 10 03, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw8 03stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw 11 03, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw6 1 08, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw6 08 stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
bazy danych laboratoria 3
kolokwium zal1 2006 2, wisisz, wydzial informatyki, studia zaoczne inzynierskie, bazy danych 2, bd2
Zadanie 3 PLSQL, wisisz, wydzial informatyki, studia zaoczne inzynierskie, bazy danych 2, bd2 - kopi
Zadanie2, wisisz, wydzial informatyki, studia zaoczne inzynierskie, bazy danych 2, bd2 - kopia mrako
Bazy Danych, bd2
Zadanie 4 PLSQL, wisisz, wydzial informatyki, studia zaoczne inzynierskie, bazy danych 2, bd2 - kopi

więcej podobnych podstron