Utilizarea designerului de date pentru mediul de date Visual Basic 6.0
În acest articol, vă vom arăta principalele caracteristici ale noului designer pentru mediul de date inclus în Visual Basic 6.0 pentru manipularea datelor. Pe trei exemple, vom lua în considerare în mod consecvent următoarele întrebări:
- utilizarea instrumentelor vizuale pentru lucrul cu bazele de date;
- Utilizați designerul pentru mediul de date pentru a crea o comandă de acces la date;
- Creați o formă legată de date și raportați utilizând metoda "drag-and-drop";
- scriind un cod ADO pentru a gestiona forma legată de date.
Exemplul 1. Stabilirea unei conexiuni de date și crearea unei comenzi simple utilizând proiectantul Data Environment și fereastra View Data
În acest exemplu, vă vom arăta cum să lucrați cu proiectantul Visual Basic 6.0 Data Environment pentru a comunica cu datele OLE DB. Pentru a executa exemplul, puteți utiliza baza de date NorthWind livrată cu Visual Basic sau baza de date Pubs livrată cu Microsoft SQL Server.
În cursul lucrării, vom crea o comandă simplă pentru seturile ierarhice de înregistrări, care se referă la trei tabele care corespund uneia dintre aceste baze de date. Dacă vom alege baza de date Northwind, să stabilească legături cu tabelul de clienți, comenzi și ORDER_DETAILS, iar în cazul în care baza de date pub-uri - apoi la masa Autori, iar titlurile TitleAuthor. Ambele baze de date stabilesc relații între tabele pentru a le lega logic. Utilizarea a două surse diferite de date are doar mici diferențe, după cum se va vedea ulterior. În acest scop, vom marca pașii care se aplică numai unei anumite baze de date, utilizând indici N (Northwind) și P (Pubs), respectiv.
ATENȚIE! Aplicațiile software pentru acest articol utilizează baza de date Nwind.MDB, care trebuie să fie localizată în directorul C: \ VB-DB \.
Pasul 1. Deschideți Visual Basic 6.0 și selectați șablonul Data Project din fila New din caseta de dialog New Project (Figura 1).
Pasul 2. În Project Explorer, faceți dublu clic pe DataEnvironment1 din folderul Designers, care încarcă constructorul de date de mediu în spațiul de lucru Visual Basic, prezentat în Fig. 2.
Pasul 3. Faceți clic cu butonul din dreapta pe Connection1 în Designer mediu de date, apoi faceți clic pe Properties. După aceea, va fi afișată fereastra Proprietăți de legătură de date, pe care o vom folosi pentru conectarea la baza de date (Figura 3).
Pasul 4P. Lucrul cu baza de date Pubs. În fila Provider, faceți dublu clic pe opțiunea OLE DB Provider pentru SQL Server - se deschide fila Conexiune. Introduceți numele serverului SQL pe care îl utilizați, numele dvs. de utilizator și parola.
Pasul 5. Acum ați stabilit deja o conexiune cu baza de date pe care ați selectat-o. Pentru a le testa, faceți clic pe butonul Testare conexiune. Când testarea este finalizată, VB afișează caseta de mesaj "Test conexiune cu succes", unde trebuie să faceți clic pe butonul OK. Apoi, faceți din nou clic pe OK pentru a închide fereastra Proprietăți legătură într-date.
Pasul 7. Faceți dublu clic pe dosarul Tabele pentru a extinde tabelul și a afișa tabelele stocate în baza de date. În funcție de baza de date pe care lucrați, copiați tabelul Clienți sau Autori în fereastra Mediu de date utilizând metoda drag-and-drop. Ca rezultat, o comandă de utilizator cu același nume ca și tabelul transferat va apărea acolo (Figura 6).
Pasul 8N. Lucrul cu baza de date NorthWind. Repetați pasul 7 trăgând tabelele Comenzi și Ordine_Detalii în designerul Mediu de date.
Pasul 8P. Lucrul cu baza de date Pubs. Repetați pasul 7 prin tragerea tabelelor Titluri și TitleAuthor în designerul Mediu de date.
Pasul 9. Închideți fereastra Vizualizare date.
Pasul 10. Acum trebuie să stabiliți relația părinte-copil dintre cele trei tabele din designerul pentru mediul de date. (Acesta este convenabil pentru stabilirea unor astfel de relații.) În primul rând, faceți clic pe Comenzi (sau titluri) și selectați Proprietăți pentru a afișa caseta de dialog Proprietăți comandă (sau Proprietăți titluri). Faceți clic pe fila Relație și selectați caseta de validare Relate to a Parent Command Object (consultați Figura 7).
Pasul 11. După aceea, extindeți lista Parent Command și selectați comanda Customers (sau TitleAuthor) din comanda părinte. Apoi listele de definire relație sunt populate automat cu identificatorii CustomerID (sau AU_ID). Faceți clic pe butonul Adăugați pentru a stabili o relație părinte-copil, apoi faceți clic pe OK.
Pasul 12. Acum, comanda Comenzi (sau titluri) din designerul Mediu de date este un câmp copil în dosarul Clienți (sau Autori). Aceasta înseamnă că pentru fiecare client pot exista mai multe comenzi în ierarhie (Formulare comandă). După aceea, ORDER_DETAILS selectați comanda (sau TitleAuthor) și repetați pașii 10 și 11, setarea ORDER_DETAILS (sau TitleAuthor), ca filială comenzi pentru comenzi (sau titluri). Ca rezultat, constructorul de date NorthWind Data Environment preia formularul prezentat în Fig. 8.
Pasul 13. Salvați proiectul NorthWind creat în acest exemplu în fișierul DataProject.vbp.
Exemplul 2. Crearea unei forme de legare a datelor utilizând metoda "drag and drop"
Creați un formular simplu utilizând comanda Data Environment, care conține trei tabele - Customers, Orders and Order_Details. O vizualizare finalizată a acestui formular cu mai multe controale TextBox și un control ierarhic FlexGrid legat de date este prezentat în Fig. 9.
Pasul 1. Deschideți proiectul DataProject.vbp creat în exemplul 1.
Pasul 2. În Project Explorer, faceți dublu clic pe DataEnvironment1 în folderul Designeri.
Pasul 3. Extindeți dosarul Form în Project Explorer și faceți dublu clic pe formularul frmDataEnv. Formatul de design apare pe ecran. Schimbați dimensiunea formularului pentru mediul de date și proiectantul așa cum se arată în Fig. 10.
Pasul 4. Apoi trageți comanda Clienți (sau Autori) de la designerul Mediu de date în partea de sus a formularului. Procedând astfel, acesta va găzdui mai multe controale TextBox legate de date și etichetele corespunzătoare. În partea de jos a formularului, chiar sub câmpurile de text, este plasat controlul Ierarhic FlexGrid legat de date. Acesta va fi localizat exact acolo unde se oferă informații mai detaliate despre comenzi (Comenzi).
Notă. Puteți configura comenzile TextBox sau FlexGrid când le asociați cu date. Dacă faceți clic cu butonul din dreapta pe un câmp în designerul Mediu de date și selectați Proprietăți, puteți potrivi acest câmp cu orice tip de control.
Pasul 5. Faceți clic pe suprafața formularului pentru a deselecta comenzile care au fost deja plasate pe formular. Faceți clic cu butonul din dreapta pe controlerul Ierarhic FlexGrid, apoi faceți clic pe Proprietăți. În caseta de dialog Pagini de proprietate care apare, modificați proprietatea BandDisplay la 1-Vertical și faceți clic pe OK (Figura 11).
Pasul 6. Puneți cele două butoane de comandă pe formular și plasați-le în partea de jos, chiar sub controlul ierarhic FlexGrid. Setați proprietățile acestor butoane în fereastra Proprietăți, conform tabelului următor:
Pasul 7N. Lucrul cu baza de date NorthWind. Faceți dublu clic pe butonul cmdPrev pentru a accesa fereastra Code View, unde introduceți următorul cod:
Și pentru butonul cmdNext, introduceți următorul cod:
Pasul 7P. Lucrul cu baza de date Pubs. Trebuie să faceți aceleași operații ca în pasul 7N, dar în loc de "rsCustomers" introduceți "rsAuthors".
Pasul 8. Închideți ferestrele de vizualizare a codului și formular.
Pasul 9. Lansați aplicația făcând clic pe pictograma Start din bara de instrumente VB6 sau apăsând tasta F5. Utilizați butoanele de comandă pentru a vă deplasa înainte și înapoi prin înregistrările bazei de date. Notați informațiile care apar în controlul ierarhic FlexGrid. Deoarece nu este formatat, poate fi personalizat să îi dea formularul necesar, care va fi prezentat în exemplul următor.
Exemplu 3. Crearea unui raport simplu cu date
Exemplul demonstrează modul de creare a unui raport de date utilizând comanda Data Environment, pe care am creat-o în primele două exemple ca sursă de date. Când ați terminat acest exemplu, raportul va arăta ca cel prezentat în Fig. 12.
Pentru a simplifica sarcina, nu vom folosi toate câmpurile din mediul de date în raportul pe care îl creăm. Prin urmare, ca rezultat al procesului pas cu pas prezentat aici, raportul va consta doar din câteva elemente. Tot ceea ce se spune aici se referă la lucrul cu ambele versiuni ale bazei de date - NorthWind și Pubs.
Pasul 1. Deschideți proiectul DataProject.vbp creat în exemplul 1 și completat în exemplul 2.
Pasul 2. În fereastra Project Explorer, extindeți folderul Designeri și faceți dublu clic pe constructorul DataReport1.
Pasul 3. În fereastra Proprietăți, faceți clic pe proprietatea DataSource, apoi selectați DataEnvironment1 ca sursă de date.
Pasul 4. În fereastra Proprietăți, faceți clic pe proprietatea DataMember și selectați Clienți (sau Autori).
Pasul 5. Faceți clic dreapta oriunde în Designer raport de date, apoi faceți clic pe Retrieve Structure. Selectați Da pentru a înlocui ierarhia cu una nouă. Rețineți că în acest caz vor fi create noi partiții de grupuri în designer, reflectând structura mediului de date, și anume: fiecare secțiune va avea o corespondență unu-la-unu cu obiectul Command în mediul de date. Astfel, noile secțiuni de grup vor corespunde comenzii Clienților și comenzilor lor ulterioare (vezi Figura 13).
Pasul 6. Faceți clic pe antetul Header (Customers_Header). În fereastra Proprietăți, modificați proprietatea Nume a subsolului de la Customers_Header la CompanyName_Header.
Pasul 7. Faceți clic pe subsolul Footer grup (Customers_Footer) și schimbați proprietatea Nume a subsolului de la Customers_Footer la Company_Name_Footer.
Pasul 8. Deschideți designerul pentru mediul de date făcând dublu clic pe DataEnvironment1 în fereastra Project. Glisați câmpul CompanyName din comanda Customers din mediul de date la CompanyName_Header (zona albă sub antetul CompanyName_Header).
Notă. Secțiunea Header-ul grupului poate conține orice câmp din comanda Clienți, cu toate acestea, pentru a simplifica raportul (așa cum am discutat la începutul exemplului), acum punem doar numele clientului în acesta.
Pasul 9. Selectați comenzile txtCompanyName și Label1 și aliniați-le la marginea din stânga a designerului de rapoarte.
Pasul 10. Selectați din nou comenzile txtCompanyName și Label1, apoi accesați fereastra Properties. Faceți clic pe proprietatea Font și apoi faceți clic pe butonul de elipsă (.) Care deschide caseta de dialog Font Style. Faceți clic pe Bold pentru a afișa numele companiei cu caractere aldine și faceți clic pe OK.
Pasul 11. Trageți câmpul OrderDate din comanda Comenzi din mediul de date în Header-ul grupului (Orders_Header).
Pasul 12. Secțiunea Detalii corespunde celei mai mici comenzi din ierarhia Date Environment - comanda Orders_Details. Trageți-l din mediul de date la secțiunea Detalii (Ordin_Detalii_Detail) din Designerul de rapoarte. În acest caz, această secțiune se va umple automat cu câmpurile conținute în comandă. Utilizați tasta SHIFT pentru a selecta fiecare dintre etichetele din secțiunea Detalii și trageți-le spre stânga, astfel încât să nu se suprapună controalele de date corespunzătoare.
Pasul 13. Redimensionați partițiile în constructorul de date, așa cum se arată în Fig. 14.
Înălțimea secțiunii Detalii ar trebui să fie cât mai mică posibil, deoarece este înmulțită cu numărul de date de comandă returnate pentru câmpul CompanyName. Orice spațiu suplimentar din partea superioară sau inferioară a câmpului de text OrderDate conduce la un exces de spațiu gol în raportul final.
Pasul 15. În Project Explorer, faceți dublu clic pe formularul frmDataEnv. După ce formularul apare pe ecran, plasați butonul de comandă pe acesta, care se află între butoanele cmdPrev și cmdNext.
Pasul 17. Faceți dublu clic pe butonul de comandă cmdPreview și scrieți următorul cod în evenimentul cmdPreview_Click: