Sei sulla pagina 1di 9

VISUAL BASIC & ORACLE

1. Conectarea aplicatiilor VB (versiunea 6) la baza de date ORACLE

2. Aplicatie
1. Conectarea aplicatiilor VB (versiunea 6) la baza de date ORACLE Pentru conectarea unei aplicatiei VB la baza de date ORACLE se parcurg urmatorii pasi: A. Activarea componentelor ActiveX pentru conectare

din meniul Project se alege optiounea Components; din lista de componente (ActiveX) se selecteaza obiectele Microsoft ADO Data Control 6.0 (OLEDB) si Microsoft DataGrid Control 6.0 (OLEDB), dupa care se actioneaza butonul Apply; in Toolbox sunt afisate cele doua componente.

B. Setarea componentelor ActiveX pentru conectare

se incarca pe forma cele doua componente (figura 1);

Fig. 1.

se selecteaza obiectul adodc, iar din fereastra cu proprietati se alege proprietatea ConnectionString, rezultatul fiind afisarea ferestrei Property Pages (figura 2);

Fig. 2.

se alege butonul de optiune Use Connection String, iar apoi butonul Build; in fereastra Data Link Properties se alege din lista Provider componenta ORACLE Provider for OLE DB, dupa care se actioneaza butonul Next (figura 3);

Fig. 3.

in pagina Connection se introduce in caseta Data Source denumirea bazei de date, iar in caseta User name si Password se introduc numele utilizatorului si parola pentru conectarea la baza de date. Pentru verificarea legaturii se actioneaza butonul Test Connection, iar daca mesajul este favorabil se actioneaza butonul Ok; in fereastra Property Pages se actioneaza butonul Apply; in pagina Authentication se introduc numele utilizatorului si parola pentru conectarea la baza de date; in pagina RecordSource (figura 4) se selecteaza din caseta Command Type modul de conectare la baza de date (de tip tabela sau comanda SQL). Din caseta Table or Stored Procedure Name se alege denumirea tabelei sau procedurii din baza de date la care se va face conexiunea. In caseta Command Text (SQL) se introduc comanzile SQL pentru interogare.

Fig. 4.

se actioneaza butonul Apply, iar apoi Ok; se selecteaza obiectul DataGrid, iar in fereastra cu proprietati se seteaza proprietatea DataSource cu denumirea obiectului Adodc.

1. Aplicatie Sa se realizeze in Visual Basic o aplicatie care se permita evidenta operatiilor de acordare si rambursare a unui credit bancar utilizand controlul ADO DATA si o baza de date ORACLE. Baza de date poate fi creata in SQL PLUS si contine urmatoarele doua tabele:

debitori - contine datele generale despre debitori si are urmatoarea structura: Simbol camp Explicatia CODDEB Cod debitor DENDEB Denumire debitor Tip Single Text

DATACR Data acordarii creditului Date/Time SUMACR Valoarea creditului Double TERMEN Termenul la care se acorda creditul Single PDOB Procentul dobanzii anuale pentru credit Single GARANTIE Garantia depusa Double SUMASCL Rata scadenta lunar Double DOBCUM Dobanda cumulata Double SUMARAM Valoarea creditului ramas de rambursat Double DATARAMB Data ultimei rate Date/Time operdeb - contine operatiile de rambursare a ratelor si dobanzii si are urmatoarea structura: Simbol camp CODDEB DATAOP SUMA DOB PROCP PENALIZ Explicatia Cod debitor Data operatie Valoarea ratei Valoarea dobanzii Procent penalizare Valoarea penalizarii Tip Single Date/Time Double Double Single Double

Pentru elaborarea aplicatiei se vor parcurge urmatoarele etape: a. proiectarea si realizarea interfetei utilizator; b. editarea (scrierea) programului; c. proiectarea si realizarea rapoartelor. a. proiectarea si realizarea interfetei utilizator In aceasta etapa sunt create ferestrele aplicatiei. In cadrul ferestrelor sunt implementate contralele (etichete, butoane de comanda, liste etc.) aplicatiei si sunt setate proprietatilor acestora. Ferestrele aplicatiei sunt urmatoarele:

Fereastra meniu a aplicatiei - contine meniurile si optiunile aplicatiei:

Fereastra Acordare credit - permite introducerea datelor initiale la acordarea creditului. Data creditarii se introduce pe formatul zz/ll/aaaa, iar Termen reprezinta durata in ani pentru care se acorda creditul.

Fereastra Scadenta rate si dobanda - permite introducerea ratelor scadente lunar a dobanzii si a eventualelor penalizari.

Fereastra Modificare date - permite modificarea datelor introduse in cele doua ferestre prezentate mai sus.

b. editarea (scrierea) programului In aceasta etapa se inroduce codul program corespunzator procedurilor eveniment aferente controlelor. Programul corespunzator evenimentelor din fiecare fereastra este urmatorul:

programul din fereastra Meniu: Private Sub acr_Click() 'Procedura corespuzatoare optiunii Acordare credit 'din meniul Operatii credit are ca efect afisarea 'ferestrei pentru acordarea creditului Form2.Show End Sub Private Sub ies_Click() 'Procedura corespuzatoare optiunii Iesire 'are ca efect inchiderea aplicatiei End End Sub Private Sub modd_Click() 'Procedura corespuzatoare optiunii Modificare date 'din meniul Operatii credit are ca efect afisarea 'ferestrei pentru modificarea datelor Form4.Show End Sub

Private Sub sdb_Click() 'Procedura corespuzatoare optiunii Situatia debitorilor 'din meniul Situatii are ca efect afisarea 'raportului (situatiei) privind debitorii DataReport1.Show End Sub Private Sub srd_Click() 'Procedura corespuzatoare optiunii Scadenta rate si dobanda 'din meniul Operatii credit are ca efect afisarea 'ferestrei pentru plata ratei, dobanzii si penalizarilor Form3.Show End Sub

programul din fereastra Acordare credit: Private Sub Command1_Click() 'Introducere date din casetele de editare 'in baza de date If Adodc1.Recordset.EOF = True Then ccoddeb = 0 Else Adodc1.Recordset.MoveLast ccoddeb = Adodc1.Recordset("CODDEB").Value End If ccoddeb = ccoddeb + 5 With Adodc1 .Recordset.AddNew .Recordset("CODDEB") = ccoddeb .Recordset("DENDEB") = UCase(Text1.Text) .Recordset("DATACR") = CDate(Format(Text2.Text, "dd/mm/yyyy")) .Recordset("SUMACR") = Val(Text3.Text) .Recordset("TERMEN") = Val(Text4.Text) .Recordset("PDOB") = (Val(Text5.Text) / 100) .Recordset("SUMARAM") = Val(Text3.Text) nrani = Val(Text4.Text) nrluni = nrani * 12 anramb = Year(.Recordset("DATACR").Value) + nrani ddataramb = CDate(Left(Format(Text2.Text, "dd/mm/yyyy"), 6) + Str(anramb)) .Recordset("DATARAMB") = ddataramb .Recordset("SUMASCL") = Round(Val(Text3.Text) / nrluni) .Recordset("DOBCUM") = 0 .Recordset.Update End With End Sub Private Sub Command2_Click() 'Inchidere fereastra Form2.Hide End Sub

programul din fereastra Scadenta rate si dobanda: 'Declararea globala a variabilei ccoddeb de tipul numeric 'Single Public ccoddeb As Single Private Sub Form_Load() 'Incarcarea casetei Combo1 cu denumirea debitorilor 'pentru a putea fi selectati din lista casetei Combo1.Clear If Form2.Adodc1.Recordset.RecordCount <> 0 Then If Not Form2.Adodc1.Recordset.EOF Then Form2.Adodc1.Recordset.MoveFirst End If For i = 1 To Form2.Adodc1.Recordset.RecordCount Combo1.AddItem (Form2.Adodc1.Recordset("DENDEB")) Form2.Adodc1.Recordset.MoveNext Next End If End Sub Private Sub Command1_Click() 'Introducerea datelor prin butonul Validare 'in tabela operdeb si debitori With Adodc1 .Recordset.AddNew .Recordset("CODDEB") = ccoddeb .Recordset("DATAOP") = CDate(Format(Text1.Text, "dd/mm/yyyy")) .Recordset("SUMA") = Val(Text2.Text) .Recordset("DOB") = Val(Text3.Text) .Recordset("PROCP") = Val(Text4.Text) .Recordset("PENALIZ") = Val(Label8.Caption) .Recordset.Update End With ssumaram = Adodc2.Recordset("SUMARAM").Value ddobcum = Adodc2.Recordset("DOBCUM").Value Adodc2.RecordSource = "UPDATE debitori SET sumaram=" + Str(ssumaram) + "-" + Text2.Text + ",dobcum=" + Str(ddobcum) + "+" + Text3.Text + " WHERE coddeb=" & ccoddeb Adodc2.Refresh DataGrid2.Refresh End Sub Private Sub Combo1_Click() 'Cautarea si afisarea datelor despre debitor la selectarea 'acestuia With Adodc2 CautDeb = Combo1.Text .RecordSource = "SELECT * FROM debitori WHERE dendeb=" & CautDeb End With With Adodc2 ccoddeb = .Recordset("CODDEB").Value

Text2.Text = Str(.Recordset("SUMASCL").Value) Text3.Text = Round(((.Recordset("SUMARAM").Value) * .Recordset("PDOB").Value) / 12) End With End Sub Private Sub Text4_LostFocus() 'Calculul si afisarea in eticheta corespunzatoare 'valorii penalizarii a valorii acesteia rotunjite Label8.Caption = Round((Val(Text2.Text) + Val(Text3.Text)) * Val(Text4.Text) / 100) End Sub Private Sub Command2_Click() 'Inchidere fereastra Hide End Sub

programul din fereastra Modificare date: Private Sub Command1_Click() 'Stergerea unui debitor din tabelele debitori si operdeb ccoddeb = Adodc1.Recordset("CODDEB").Value Adodc1.Recordset.Delete Adodc2.Recordset.MoveFirst For i = 1 To Adodc2.Recordset.RecordCount If Adodc2.Recordset("CODDEB") = ccoddeb Then Adodc2.Recordset.Delete End If Adodc2.Recordset.MoveNext Next End Sub Private Sub Command2_Click() 'Inchidere fereastra Hide End Sub

Potrebbero piacerti anche