Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Accesarea bazelor de date

Informatica


Accesarea bazelor de date

Baza de date



Pe serverul de Web se afla o baza de date Access:

cu numele Firma

ce cuprinde tabelul Persoane

cu DSN: FirmaODBC

salvata ca Firma.mdb

cu câmpurile pers si salariu

Fig. 0

 

Ce urmarim

Urmarim ca baza date sa poate fi consultata si sa se poata efectua inserari de noi înregistrari. Mai precis:

la prima tranzactie dorim sa apara pe ecranul clientului înregistrarile din baza de date (informatiile despre salariati). Meniul are numele salariat, iar butonul are numele Buton si valoarea (eticheta) Adauga:

Fig. 1

 

la urmatoarele tranzactii dorim sa apara un câmp de text cu numele text si un buton cu numele Buton si eticheta OK:

Fig. 2

 

Dupa completarea câmpului de text cu numele si salariul unui nou salariat, informatii separate printr-un blanc, dorim ca la apasarea butonului servlet-ul sa completeze baza de date, iar pe ecranul clientului sa apara continutul actualizat al bazei de date:

Fig. 3

 

Observatie. Reamintim ca desi entitatile din sirul de caractere ce contine numele si salariul noului salariat sunt despartite prin caracterul (asa cum apare în figura de mai sus), separatorul real este blancul (vezi clasa URLEncoder). Acest lucru este important daca dorim sa le identificam folosind StringTokenizer

Programul

Clasele sunt cuprinse în pachetul Baza_Date din directorul:

User\WEB-INF\classes

Clasa Persoana contine:

câmpurile pers si salariu

un constructor ce initializeaza aceste câmpuri la crearea unui obiect de acest tip;

metodele rPers si rSalariu ce întorc valorile celor doua câmpuri;

metoda toString ce întoarce sirul de caractere format din cele doua câmpuri, despartite printr-un blanc.

package Baza_Date;

public class Persoana

public String rPers()

public int rSalariu()

public String toString()

Clasa BD contine:

câmpul stmt de tip Statement

un constructor ce initializeaza acest câmp;

metoda cauta ce întoarce un vector în care apar toate obiectele de tipul Persoana corespunzatoare înregistrarilor din baza de date;

metoda adauga cu un parametru de tipul Persoana. Executarea metodei adauga în baza de date o înregistrare corespunzatoare argumentului (noului salariat) cu care este invocata.

package Baza_Date;

import java.sql.*; import java.util.*;

public class BD

public Vector cauta() throws Exception

return v;

}

public void adauga(Persoana p) throws Exception

Clasa principala (servlet-ul) Firma contine metodele doGet afisare si cerere

Metoda afisare realizeaza transmiterea catre client a informatiilor din baza de date, sub forma din figura 1.

Metoda cerere afiseaza pe ecranul clientului pagina din figura 2.

Metoda doGet întreprinde urmatoarele actiuni:

creaza obiectul out de tipul PrintWriter

transmite cu ajutorul sau marcajele (tag-urile) html head title body si form, specificând în acesta din urma adresa servlet-ului;

creaza un obiect stmt de tipul Statement si un obiect bd de tipul BD

citeste în sirul de caractere s, prin intermediul metodei getQueryString, lista de parametri;

actiune

transmite prin intermediul lui out marcajele de sfârsit corespunzatoare lui form body si html

unde actiune semnifica:

daca s=null, adica suntem la prima tranzactie, este invocata metoda afisare

în caz contrar:

este citita în s, prin intermediul metodei getParameter, valoarea atasata butonului Buton

daca eticheta butonului este Adauga, este invocata metoda cerere

daca eticheta butonului este OK, este citit în s textul introdus de client în câmpul de text cu numele text. Folosind StringTokenizer, sunt extrase cele doua informatii si este creat un obiect de tipul Persoana corespunzator noului salariat. Apoi aceasta informatie este adaugata bazei de date prin invocarea metodei adauga a clasei BD si este invocata metoda afisare

package Baza_Date;

import java.io.*; import java.util.*; import java.sql.*;

import java.awt.*; import java.awt.event.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class Firma extends HttpServlet

catch (SQLException e)

catch (ClassNotFoundException e)

String s = req.getQueryString(); String ss;

if (s==null) try catch(Exception e)

else catch(Exception e)

else if( s.equals("OK") )

try

catch(Exception e) ;

}

out.println("</body></html>");

}

public void afisare(BD bd) throws Exception

html += "</select><p>";

html += "<input type=submit name=Buton value=Adauga>";

out.println(html);

}

public void cerere(BD bd) throws Exception


Document Info


Accesari: 1768
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )