Bazele de programare

Bazele de programare

Pasul 11. Baze de date și prima aplicație consolă

Descrierea problemei

Lista pe scurt ce funcții și în ce mod vor fi furnizate utilizatorului pentru a vizualiza programele de mai jos:

Lucrul cu baza de date în modul de tranzacție. Tranzacția ne permite să ia în considerare activitatea mai multor interogări SQL pentru a modifica datele ca o singură operațiune integrată, din care rezultatul poate fi fie stocate într-o bază de date sau în întregime a anula - rostogolească înapoi tranzacția. Dacă nu sunteți familiarizați cu instrucțiunile SQL, modificarea informațiilor din baza de date, apoi m-am oferit să aflu despre ele aici.

Comunicarea cu programul de utilizator prin intermediul non-GUI - consola. Rezultatele interogărilor SELECT, precum și numărul de înregistrări prelucrate UPDATE, DELETE, și comenzile Fragment va fi afișat pe consola. De asemenea, consola va afișa informații despre erori și posibilele acțiuni suplimentare ale utilizatorului - adică, toate ca înainte.

Descrierea punerii în aplicare

După pornire, programul comunică imediat cu o bază de date Data.mdb. care ar trebui să fie în același director ca și programul în sine. Ca și în etapele anterioare, se sugerează să utilizeze o bază de date SQL curs de calculator 25 ™. În cazul în care conexiunea de date este realizată, pentru un motiv oarecare nu reușește, consola va afișa un mesaj despre motivele acestui eșec, iar programul se va termina. În cazul în care conexiunea este de succes, se execută bucla în timp. la fiecare iterație, care utilizatorului i se solicită să introduceți o cerere și să primească informații cu privire la rezultatele activității sale. Dacă în cursul intra în sintaxa interogare SQL sau eroarea semantică a fost făcută, mesajul va fi, de asemenea, afișat pe ecran. La sfârșitul fiecărei iterații (după prelucrare o altă cerere), utilizatorul poate continua fie programul prin apăsarea „Enter“. sau termina lucrarea prin apăsarea unui alt buton. În acest din urmă caz, un boolean Continuare. Este o condiție pentru a continua să funcționeze în timp ce ciclul este setat la capetele buclă false și în timp. Mai mult, în cazul în care în proces a fost executat cel puțin un modificator de date de interogare SQL, utilizatorul va solicita să salvați modificările în baza de date sau de a ieși din programul fără a salva modificările. Prezența modificărilor care ar putea fi stocate în baza de date, programul recunoaște valoarea unei DataChanged variabile Boolean. care este definită în corpul buclei principale. Ei bine, la sfârșitul conexiunii bazei de date este închisă. Vă rugăm să rețineți că acest lucru se face în corpul a blocului în cele din urmă. care asigură punerea în aplicare a prezentului cod, ca și în cazul unor erori sau în cazul realizării corecte a programului. Mai multe detalii despre excepții și în cele din urmă bloc pot fi găsite aici. Este demn de remarcat faptul că rezultatul SELECT muncii ia în considerare modificările aduse comenzi UPDATE, DELETE, INSERT declarații în contextul tranzacției curente, în ceea ce poate fi verificată prin rularea programului și completarea unui cuplu de cereri.

detaliile de implementare

Pentru a lucra cu baza de date a creat o DataManager clasă separată. Pentru prima dată, despre clasele din acest program de curs menționat în pasul „Cinci clase de matematică.“ în cazul în care am încercat să rezume avantajele programării orientate pe obiecte. Aici am folosit o clasă separată, în scopul de a separa detaliile de implementare a lucrării cu baza de date de la logica programului. Dacă, de exemplu, va trebui să pună în aplicare de lucru cu orice altă bază de date (nu Microsoft Access), va fi suficient pentru a schimba numai în codul de clasa DataManager. Puteți, desigur, pentru a dezvolta ideea in continuare prin definirea unei lucrări de clasă abstractă cu orice bază de date și punerea în aplicare a claselor derivate din acesta pentru fiecare bază de date specifică, dar nu ca parte a acestei etape.

Clasa de DataManager pune în aplicare două metode diferite pentru procesarea interogărilor SQL: Selectați metoda () pentru a efectua interogare SELECT și Executare () metoda pentru a efectua interogări direcționate la date prin editarea comenzilor UPDATE, INSERT și DELETE. Care dintre aceste două metode pentru a efectua este determinată de primul cuvânt cheie introdus de interogarea SQL utilizator. În cazul în care primul cuvânt în SQL de intrare (SQL.StartsWith) este SELECT, atunci apeluri Selectați metoda (). în toate celelalte cazuri, cauzate de Executare metoda (). În a doua variantă se schimbă, de asemenea, valoarea variabilei DataChanged. care a fost menționată mai sus.

Algoritmul de program, inclusiv definirea clasei DataManager. destul de lungă durată, și nu există nici un sens să publice unele dintre piesele sale aici. Pentru un studiu mai detaliat al programului de care aveți nevoie pentru a descărca codul sursă în C # sau VB.NET și deschis în tutorial.

Codul sursă al programelor

test de date CCD

Microsoft Access Data.rar (Data.mdb) fișier bază de date.

independent

Doar câteva cuvinte despre contra punerii în aplicare a propus, în cazul în care se dorește, corectați-vă:

În timpul examinării de nuanțele bazei de date în etapele anterioare, accentul se pune pe faptul că lucra cu cazuri de clase, cum ar fi DbCommand DbReader și ar trebui să fie pus în aplicare în contextul declarației folosind. care asigură eliberarea corectă a sistemului de operare pe care îl ocupă de resurse. Rețineți că, dacă nu, atunci resursele vor fi în continuare eliberate, dar numai atunci când acest lucru va avea grijă de CRJ runtime-ul colector de gunoi. Operator care utilizează bun în acele cazuri în care utilizarea unor astfel de obiecte este doar o singură piesă specifică de cod. În toate celelalte cazuri, puteți utiliza un apel explicit de a dispune metoda (interfață IDisposable), chiar în momentul în care nevoia de obiect dispare. Cum se face acest lucru este descris aici.