Crearea aplicatiilor de baze de date. Dezvoltarea aplicației baze de date

Să creăm o aplicație simplă de bază de date care afișează informații din tabelul „Turiști” și o înregistrare a tabelului „Informații turistice” din baza de date asociată cu înregistrarea curentă a tabelului „Turiști”. Microsoft Access.

Pentru a face acest lucru, să creăm o aplicație Windows goală. Aspectul mediului

dezvoltarea este prezentată în Figura 39.

Orez. 39. Aplicație goală

În Figura 39, este evidențiat grupul de componente „Date”, care conține componente pentru accesarea și manipularea datelor.

Legarea datelor bazei de date la formular este realizată de componenta „Sursa de legare”. Să-l transferăm în formular. După plasarea lui pe formular, mediul de dezvoltare ia următoarea formă (Fig. 40).

Orez. 40. Sursa de legare a componentelor pe formular

Componenta nu este vizuală, deci este afișată într-un panou suplimentar. Proprietatea principală a componentei este proprietatea DataSource, care indică sursa de date. În mod implicit, proprietatea este goală, așa că trebuie să-i formați valoarea. Când această proprietate este selectată, în fereastra de proprietăți apare următoarea fereastră (Fig. 41).

Orez. 41. Lista surselor de date

Lista este în prezent goală, așa că trebuie să creați o nouă sursă de date alegând comanda Adăugare sursă de date proiect pentru a crea o nouă sursă de date și a vă conecta la ea. Apare următoarea casetă de dialog (fig. 42).

Orez. 42. Lista surselor de date

Acest dialog oferă următoarea selecție de surse de date:

Baza de date - Baza de date;

Serviciu - Un serviciu este un fel de serviciu care furnizează date. Cel mai adesea acesta este un serviciu Web;

Obiect - Un obiect pentru selectarea unui obiect care va genera date și obiecte cu care să lucreze.

În cazul nostru, trebuie să selectați elementul „Bază de date”. Apare o fereastră pentru selectarea unei conexiuni de date (Fig. 43).

Orez. 43. Alegerea unei conexiuni de date

Scopul acestui dialog este de a crea un șir de conexiune care va descrie parametrii de conexiune pentru motorul ADO, cum ar fi tipul bazei de date, locația acesteia, numele de utilizator, instrumentele de securitate etc.

Lista derulantă a casetei de dialog conține toate conexiunile create anterior. Dacă conexiunea necesară nu este în listă, atunci ar trebui să utilizați butonul „Conexiune nouă”. Apăsarea butonului duce la apariția următoarei casete de dialog (Fig. 44).

În acest dialog, selectați tipul sursei de date (în acest caz Microsoft Access), numele bazei de date (în acest caz, numele și locația fișierului bazei de date), numele de utilizator și parola utilizate pentru conectarea la baza de date. Butonul „Avansat” vă permite să setați un număr mare de parametri legați de diferite părți ale mecanismului ADO. Folosind butonul „Testează conexiunea” se va asigura că parametrii introduși sunt corecti și că conexiunea funcționează.

Orez. 44. Crearea unei noi conexiuni

Ultimul pas al dialogului este de a selecta acele tabele sau alte obiecte de bază de date care sunt necesare în această sursă date. Fereastra de selecție este prezentată în Figura 45.

Orez. 45. Selectarea tabelelor necesare

În această fereastră sunt selectate tabelele „Turiști” și „Informații turistice”. Deoarece în baza de date nu au fost create alte obiecte decât tabele, în Figura 45 sunt afișate doar tabele. Aceasta finalizează crearea sursei de date. Când faceți clic pe Terminare, un set de date apare lângă BindingSource din formular.

Acum datele conectate mai sus trebuie să fie afișate pe formular. Cel mai simplu mod de a afișa date este să utilizați componenta DataGridView din grupul de componente Data. Componenta este vizuală și arată astfel pe formular (Fig. 46).

Orez. 46. ​​​​Componenta DataGridView

Imediat apare fereastra de setări ale componentelor, care determină capacitatea acesteia de a edita date: „Activați adăugarea”, „Activați editarea”, „Activați ștergerea”; capacitatea de a schimba secvența coloanelor: „Activați reordonarea coloanelor”; și, de asemenea, capacitatea de a andocare în containerul părinte.

Pentru ca componenta să afișeze date, trebuie să selectați o sursă de date din lista derulantă. Selectarea listei derulante duce la apariția următoarei casete de dialog (Fig. 47).

Orez. 47. Selectarea unei surse de date pentru DataGridView

În acest caz, am selectat tabelul „Turiști” ca sursă de date. Această selecție schimbă afișajul după cum urmează (Fig. 48).

Orez. 48. Componenta DataGridView afișează structura tabelului

În figură, puteți vedea că există o altă componentă BindingSource și o componentă TableAdapter care funcționează cu tabelul Turists. Vă rugăm să rețineți că în timpul proiectării sau în timpul dezvoltării, datele din tabel nu sunt afișate.

Acum trebuie să afișați datele din tabelul de informații turistice conectat. Pentru a face acest lucru, plasați o altă componentă DataGridView pe formular și selectați următoarele ca sursă de date (Fig. 49).

Orez. 49. Selectarea unei surse de date pentru al doilea DataGridView

Aici, sursa de date nu este tabelul „Informații turistice” în sine, ci Sursa de legătură dintre tabelele „Turiști” și „Informații turistice”. Această selecție asigură că numai acele rânduri sunt selectate din tabelul Informații turistice care sunt asociate cu rândul curent din tabelul Turiști. Această alegere asigură, de asemenea, că datele asociate sunt actualizate și șterse corect. Funcționarea aplicației rezultate este prezentată în Figura 50.

Orez. 50. Aplicația bazei de date la locul de muncă

Navigarea prin date folosind tastele săgeți este incomod. Există o componentă BindingNavigator pentru a simplifica navigarea prin date. Așezați-l pe formular (fig. 51).

Orez. 51. Componenta BindingNavigator pe formular

Această componentă vă permite să navigați între înregistrările de tabel, să adăugați și să ștergeți rânduri de tabel. Oportunități și aspect componenta este personalizabilă deoarece este o bară de meniu ToolStripContainer.

Proprietatea care definește tabelul prin care trebuie navigat este proprietatea BindingSource. Setați valoarea acestei proprietăți la TouristBindingSource. În funcționare, componenta arată astfel (Fig. 52).

Orez. 52. Componenta BindingNavigator la locul de muncă

Editarea datelor în celulele componentei DataGridView cu setări adecvate este posibilă, dar incomod și nu rațional. În special, este dificil să verificați valorile introduse pentru erori. Prin urmare, pentru tabelul „Turiști”, vom realiza un formular de ecran care permite afișarea datelor în componentele TextBox și editarea acestora. Pentru a face acest lucru, plasați un container de tip Panel pe formular și pe acesta trei componente TextBox, după cum urmează (Fig. 53).

Orez. 53. Panou ecran pentru editarea înregistrărilor din tabelul „Turiști”

Acum este necesar să legați componentele TextBox la câmpurile corespunzătoare din tabelul „Turiști”. Pentru a face acest lucru, utilizați proprietatea din grupul DataBindings - Advanced, prezentată în Figura 54.

Orez. 54. Proprietatea „DataBindings - Advanced”

Selectarea acestei proprietăți duce la apariția casetei de dialog prezentată în Figura 55. Acest dialog vă permite să efectuați nu numai legarea datelor, ci și să setați un eveniment în cadrul căruia datele vor fi actualizate, precum și să formatați datele atunci când sunt afișate. .

Pentru componenta de sus TextBox din lista derulantă Binding, selectați sursa de date „touristsBmdmgSource” și câmpul sursă - „Lastname”. Pentru componentele TextBox din mijloc și de jos, selectați aceeași sursă de date și, respectiv, câmpurile „Nume” și „Patronimic”.

Aplicația dezvoltată în funcțiune arată după cum urmează (Fig. 56).

Orez. 55. Caseta de dialog pentru proprietatea „DataBindings - Advanced”.

Orez. 56. Legarea datelor de componente vizuale

Cu toate acestea, atunci când se fac modificări, toate datele noi rămân doar în formular. Acestea nu sunt stocate în baza de date și, desigur, nu vor fi prezente atunci când aplicația este apelată din nou. Acest lucru se datorează faptului că datele au fost încărcate într-un DataSet, care este o copie a tabelului din memorie. Toate acțiunile sunt efectuate cu această copie. Pentru ca modificările să se reflecte în baza de date, trebuie să executați metoda Update a clasei TableAdapter. Astfel, în aplicația dezvoltată este necesar să plasați butonul Actualizare și să scrieți următorul cod de program în handlerul de evenimente Click:

touristsTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Acest cod actualizează informațiile din tabelele Turists and Tourist Information furnizate de sursa de date. Rețineți că aceasta metoda este supraîncărcat, iar variantele sale vă permit să actualizați atât un singur rând al unui tabel, cât și un grup de rânduri.

Să creăm o aplicație simplă de bază de date care afișează informații din tabelul „Turiști” și o înregistrare a tabelului „Informații turistice” din baza de date asociată cu înregistrarea curentă a tabelului „Turiști”. Date Microsoft Acces.

Pentru a face acest lucru, să creăm o aplicație Windows goală. Aspectul mediului

dezvoltarea este prezentată în Figura 39.

Orez. 39. Aplicație goală

În Figura 39, este evidențiat grupul de componente „Date”, care conține componente pentru accesarea și manipularea datelor.

Legarea datelor bazei de date la formular este realizată de componenta „Sursa de legare”. Să-l transferăm în formular. După plasarea lui pe formular, mediul de dezvoltare ia următoarea formă (Fig. 40).

Orez. 40. Sursa de legare a componentelor pe formular

Componenta nu este vizuală, deci este afișată într-un panou suplimentar. Proprietatea principală a componentei este proprietatea DataSource, care indică sursa de date. În mod implicit, proprietatea este goală, așa că trebuie să-i formați valoarea. Când această proprietate este selectată, în fereastra de proprietăți apare următoarea fereastră (Fig. 41).

Orez. 41. Lista surselor de date

Lista este în prezent goală, așa că trebuie să creați o nouă sursă de date alegând comanda Adăugare sursă de date proiect pentru a crea o nouă sursă de date și a vă conecta la ea. Apare următoarea casetă de dialog (fig. 42).

Orez. 42. Lista surselor de date

Acest dialog oferă următoarea selecție de surse de date:

Baza de date - Baza de date;

Serviciu - Un serviciu este un fel de serviciu care furnizează date. Cel mai adesea acesta este un serviciu Web;

Obiect - Un obiect pentru selectarea unui obiect care va genera date și obiecte cu care să lucreze.

În cazul nostru, trebuie să selectați elementul „Bază de date”. Apare o fereastră pentru selectarea unei conexiuni de date (Fig. 43).

Orez. 43. Alegerea unei conexiuni de date

Scopul acestui dialog este de a crea un șir de conexiune care va descrie parametrii de conexiune pentru motorul ADO, cum ar fi tipul bazei de date, locația acesteia, numele de utilizator, instrumentele de securitate etc.

Lista derulantă a casetei de dialog conține toate conexiunile create anterior. Dacă conexiunea necesară nu este în listă, atunci ar trebui să utilizați butonul „Conexiune nouă”. Apăsarea butonului duce la apariția următoarei casete de dialog (Fig. 44).

În acest dialog, selectați tipul sursei de date (în acest caz Microsoft Access), numele bazei de date (în acest caz, numele și locația fișierului bazei de date), numele de utilizator și parola utilizate pentru conectarea la baza de date. Butonul „Avansat” vă permite să setați un număr mare de parametri legați de diferite părți ale mecanismului ADO. Folosind butonul „Testează conexiunea” se va asigura că parametrii introduși sunt corecti și că conexiunea funcționează.

Orez. 44. Crearea unei noi conexiuni

Ultimul pas al dialogului este de a selecta acele tabele sau alte obiecte de bază de date care sunt necesare în această sursă de date. Fereastra de selecție este prezentată în Figura 45.

Orez. 45. Selectarea tabelelor necesare

În această fereastră sunt selectate tabelele „Turiști” și „Informații turistice”. Deoarece în baza de date nu au fost create alte obiecte decât tabele, în Figura 45 sunt afișate doar tabele. Aceasta finalizează crearea sursei de date. Când faceți clic pe Terminare, un set de date apare lângă BindingSource din formular.

Acum datele conectate mai sus trebuie să fie afișate pe formular. Cel mai simplu mod de a afișa date este să utilizați componenta DataGridView din grupul de componente Data. Componenta este vizuală și arată astfel pe formular (Fig. 46).

Orez. 46. ​​​​Componenta DataGridView

Imediat apare fereastra de setări ale componentelor, care determină capacitatea acesteia de a edita date: „Activați adăugarea”, „Activați editarea”, „Activați ștergerea”; capacitatea de a schimba secvența coloanelor: „Activați reordonarea coloanelor”; și, de asemenea, capacitatea de a andocare în containerul părinte.

Pentru ca componenta să afișeze date, trebuie să selectați o sursă de date din lista derulantă. Selectarea listei derulante duce la apariția următoarei casete de dialog (Fig. 47).

Orez. 47. Selectarea unei surse de date pentru DataGridView

În acest caz, am selectat tabelul „Turiști” ca sursă de date. Această selecție schimbă afișajul după cum urmează (Fig. 48).

Orez. 48. Componenta DataGridView afișează structura tabelului

În figură, puteți vedea că există o altă componentă BindingSource și o componentă TableAdapter care funcționează cu tabelul Turists. Vă rugăm să rețineți că în timpul proiectării sau în timpul dezvoltării, datele din tabel nu sunt afișate.

Acum trebuie să afișați datele din tabelul de informații turistice conectat. Pentru a face acest lucru, plasați o altă componentă DataGridView pe formular și selectați următoarele ca sursă de date (Fig. 49).

Orez. 49. Selectarea unei surse de date pentru al doilea DataGridView

Aici, sursa de date nu este tabelul „Informații turistice” în sine, ci Sursa de legătură dintre tabelele „Turiști” și „Informații turistice”. Această selecție asigură că numai acele rânduri sunt selectate din tabelul Informații turistice care sunt asociate cu rândul curent din tabelul Turiști. Această alegere asigură, de asemenea, că datele asociate sunt actualizate și șterse corect. Funcționarea aplicației rezultate este prezentată în Figura 50.

Orez. 50. Aplicația bazei de date la locul de muncă

Navigarea prin date folosind tastele săgeți este incomod. Există o componentă BindingNavigator pentru a simplifica navigarea prin date. Așezați-l pe formular (fig. 51).

Orez. 51. Componenta BindingNavigator pe formular

Această componentă vă permite să navigați între înregistrările de tabel, să adăugați și să ștergeți rânduri de tabel. Funcționalitatea și aspectul componentei sunt personalizabile deoarece este o bară de meniu ToolStripContainer.

Proprietatea care definește tabelul prin care trebuie navigat este proprietatea BindingSource. Setați valoarea acestei proprietăți la TouristBindingSource. În funcționare, componenta arată astfel (Fig. 52).

Orez. 52. Componenta BindingNavigator la locul de muncă

Editarea datelor în celulele componentei DataGridView cu setări adecvate este posibilă, dar incomod și nu rațional. În special, este dificil să verificați valorile introduse pentru erori. Prin urmare, pentru tabelul „Turiști”, vom realiza un formular de ecran care permite afișarea datelor în componentele TextBox și editarea acestora. Pentru a face acest lucru, plasați un container de tip Panel pe formular și pe acesta trei componente TextBox, după cum urmează (Fig. 53).

Orez. 53. Panou ecran pentru editarea înregistrărilor din tabelul „Turiști”

Acum este necesar să legați componentele TextBox la câmpurile corespunzătoare din tabelul „Turiști”. Pentru a face acest lucru, utilizați proprietatea din grupul DataBindings - Advanced, prezentată în Figura 54.

Orez. 54. Proprietatea „DataBindings - Advanced”

Selectarea acestei proprietăți duce la apariția casetei de dialog prezentată în Figura 55. Acest dialog vă permite să efectuați nu numai legarea datelor, ci și să setați un eveniment în cadrul căruia datele vor fi actualizate, precum și să formatați datele atunci când sunt afișate. .

Pentru componenta de sus TextBox din lista derulantă Binding, selectați sursa de date „touristsBmdmgSource” și câmpul sursă - „Lastname”. Pentru componentele TextBox din mijloc și de jos, selectați aceeași sursă de date și, respectiv, câmpurile „Nume” și „Patronimic”.

Aplicația dezvoltată în funcțiune arată după cum urmează (Fig. 56).

Orez. 55. Caseta de dialog pentru proprietatea „DataBindings - Advanced”.

Orez. 56. Legarea datelor de componente vizuale

Cu toate acestea, atunci când se fac modificări, toate datele noi rămân doar în formular. Acestea nu sunt stocate în baza de date și, desigur, nu vor fi prezente atunci când aplicația este apelată din nou. Acest lucru se datorează faptului că datele au fost încărcate într-un DataSet, care este o copie a tabelului din memorie. Toate acțiunile sunt efectuate cu această copie. Pentru ca modificările să se reflecte în baza de date, trebuie să executați metoda Update a clasei TableAdapter. Astfel, în aplicația dezvoltată este necesar să plasați butonul Actualizare și să scrieți următorul cod de program în handlerul de evenimente Click:

touristsTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Acest cod actualizează informațiile din tabelele Turists and Tourist Information furnizate de sursa de date. Rețineți că această metodă este supraîncărcată, iar variantele sale vă permit să actualizați atât un singur rând al unui tabel, cât și un grup de rânduri.

DEZVOLTAREA UNEI APLICAȚII DE LUCRU CU BAZELE DE DATE

Roza Gaynanova

lector al Departamentului de Discipline Generale Educaţionale

Universitatea Națională de Cercetare Tehnologică din Kazan

Rusia, Kazan

ADNOTARE

Articolul discută metodele de accesare a bazelor de date și interfețele de programare utilizate în aceste metode de acces. Se are în vedere integrarea aplicațiilor Visual C # cu SGBD-ul Microsoft SQL Server 2012. Dezvoltarea este considerată ca exemplu. Sistem informatic„Agenție de turism”.

ABSTRACT

Articolul examinează metodele de acces la bazele de date și interfețele software utilizate în aceste metode de acces. Luăm în considerare integrarea aplicațiilor Visual C # cu serverul de baze de date Microsoft SQL Server 2012. Ca exemplu, se are în vedere dezvoltarea sistemului informațional „Agenția de turism”.

Cuvinte cheie: bază de date, SQL Server, aplicație, utilizatori, control, interogare.

Cuvinte cheie: bază de date, SQL Server, aplicație, utilizatori, element de control, interogare.

Un sistem informațional este un set interconectat de instrumente, metode și personal folosit pentru a stoca, procesa și emite informații în scopul atingerii unui obiectiv stabilit. Sistemul informatic dezvoltat va fi construit folosind tehnologia client-server. În astfel de sisteme, informațiile sunt stocate pe server, iar interfața sistemului informațional este stocată calculatoare client, prin intermediul acestuia, utilizatorii sistemului informatic au acces la date.

La dezvoltarea unui sistem informatic, trebuie rezolvate două sarcini principale:

  • sarcina de a dezvolta o bază de date pentru stocarea informațiilor;
  • sarcina de dezvoltare interfata grafica utilizator al aplicațiilor client.

Baza de date „Agenție de turism” este creată pe Microsoft SQL Server 2012. Baza de date stochează informații despre clienții acestei agenții de turism (turiști), despre tururile pe care le oferă, despre înregistrarea și plata voucherelor. În faza de proiectare a bazei de date, sunt create tabelele „Turiști”, „Tururi”, „Vouchere”, „Anotimpuri”, „Plată”. Se stabilesc legături între tabele.

Aplicația agenției de turism va fi utilizată de către managerul agenției de turism, directorii de vânzări, contabilul, casierul și personalul biroului agenției de turism. Unul dintre angajații biroului este numit de administratorul de sistem. Numai el va păstra conturile de utilizator. Pe lângă cele cinci tabele principale, este creat tabelul „Utilizatori”, care conține informații despre utilizatorii bazei de date. Acest tabel nu are legătură cu alte tabele. Structura acestui tabel: cod de utilizator, prenume, poziție, autentificare și parolă. Numai administratorul de sistem poate face modificări acestui tabel.

Securitatea SQL Server este construită pe două concepte: autentificare și autorizare. Administratorul sistemului de securitate SQL Server creează un obiect de conectare separat pentru fiecare utilizator. Acest obiect conține numele contului de utilizator SQL Server, parola, numele complet calificat și alte atribute pentru a controla accesul la bazele de date SQL Server. Prin conectarea la SQL Server, utilizatorul are acces la bazele de date în care este înregistrat contul său. Pentru a înregistra un cont într-o anumită bază de date, administratorul de sistem creează un nume de utilizator al bazei de date în acesta și îl asociază cu un anumit cont... Administratorul de sistem oferă utilizatorilor anumite privilegii. Un manager de vânzări poate face modificări la tabelele „Turiști”, „Tururi” și poate schimba coloana „Număr_de_locuri” din tabelul „Tururi” după vânzarea următorului tur. Un angajat al agenției de turism poate face modificări la tabelele „Anotimpuri” și „Tururi”. Contabil și casier - în tabelul „Plată”.

Puteți acorda permisiuni în SQL Server Management Studio prin deschiderea ferestrelor de proprietăți pentru utilizatorul corespunzător. De asemenea, puteți reprezenta permisiuni folosind instrucțiunea GRANT. Exemple de acordare de autoritate unui manager. Următoarea declarație acordă utilizatorului Menedger dreptul de a vizualiza, modifica tabelul Turists, introduce noi rânduri și șterge date învechite.

USE Agentie de Turism

GRANT SELECT, UPDATE, INSERT, DELETE

ON Turişti

O instrucțiune similară este creată pentru lucrul cu tabelul „Tururi”. Pentru a da dreptul managerului de a schimba o singură coloană a tabelului „Tururi”, după numele tabelului, între paranteze, este indicat numele coloanei variabile Tururi (Număr de locuri). Furnizate operațiuni SELECT, UPDATE.

Există patru instrucțiuni în limbajul de control al datelor (DCL): COMMIT, ROLLBACK, GRANT, REVOKE. Toate aceste instrucțiuni sunt legate de protejarea bazei de date împotriva daunelor accidentale sau intenționate. Bazele de date sunt vulnerabile exact atunci când le sunt aduse modificări. Pentru a proteja baza de date, SQL este limitat la operațiuni. Care o pot schimba, astfel încât acestea să fie executate doar în cadrul tranzacțiilor. Când mai mulți utilizatori încearcă să folosească aceeași tabelă de bază de date în același timp, este creată o situație de acces concurent. Problemele de concurență apar chiar și în aplicații relativ simple dacă aplicația este instalată și rulează pe un sistem multi-utilizator care nu are suficient control al concurenței. Nu apare niciun conflict de tranzacție dacă acestea sunt executate secvenţial.

Unul dintre instrumentele principale pentru menținerea integrității unei baze de date este o tranzacție. O tranzacție încapsulează toate instrucțiunile SQL care pot afecta baza de date. Tranzacția SQL se termină cu una dintre cele două instrucțiuni: COMMIT sau ROLLBACK. Dacă tranzacția se termină cu o instrucțiune ROLLBACK, atunci toate instrucțiunile sale sunt anulate, baza de date revine la starea initiala... O tranzacție normală poate rula în unul din două moduri: READ-WRITE (citire-scriere) sau READ-ONLY (numai citire). Puteți seta unul dintre următoarele niveluri de izolare pentru o tranzacție: SERIAIZABLE ( executie secventiala), REPEATABLE READ (citire repetată), READ NECOMMITED (citește date neconfirmate). Caracteristicile implicite sunt READ-WRITE și SERIAIZABLE. Caracteristicile implicite ale tranzacției SQL sunt, în general, adecvate pentru majoritatea utilizatorilor.

Aplicația este creată în Visual Studio 2012 folosind limbajul de programare C #. Proiectarea unui produs software începe cu dezvoltarea unei interfețe cu utilizatorul.

Fereastra principală a aplicației ar trebui să apeleze funcțiile principale pentru lucrul cu aplicația (Figura 1). Meniul este folosit pentru a efectua aceste operații. Meniul este format din următoarele elemente: „Tabele”, „Interogări”, „Rapoarte”. Fiecare dintre aceste clauze conține subclauze. Fiecare funcție va fi executată în propria fereastră. Elementul MenuStrip este instalat în fereastra principală a aplicației, se formează opțiunile de meniu. Elementul PictureBox este plasat în fereastra formularului. O imagine este încărcată în zona elementului. Desenul ar trebui să acopere întreaga zonă. Proprietatea SizeMode stabilește scalarea imaginii. Pentru această proprietate, StretchImage este selectat din lista derulantă, desenul este scalat astfel încât să ocupe întreaga suprafață a obiectului.

Controlul comboBox este instalat pentru a afișa o listă de utilizatori care au dreptul de a lucra cu baza de date a agenției de turism. Elementul comboBox se leagă la o sursă de date. Fereastra " CUomboBoxSarcini", În care este bifată caseta de validare „Utilizați elemente legate de date”, dacă această casetă de selectare este bifată, se deschid opțiunile de legare a datelor. Elementul comboBox este legat de tabelul Utilizatori, iar numele de familie este selectat în rândul Afișare membru. Pentru a intra în autentificare, este instalat controlul textbox1, pentru a introduce parola textBox2. Pentru textBox1 și textBox2, proprietatea UsesSystemPasworChar este setată la true, ceea ce specifică dacă textul din caseta de text ar trebui să fie afișat folosind caracterele implicite ale parolei. Sunt instalate două butoane de comandă „Autentificare” și „Schimbare utilizator”.

Când legați un element comboBox la tabelul „Utilizatori”, handlerul de evenimente Form1_Load apare în codul de program al formularului.

private void Form1_Load (emițător obiect, EventArgs e)

this.usersTableAdapter1.Fill (this.tour agencyDataSet10.Users);

La pornirea aplicației, meniul nu este disponibil. Pentru a intra în sistem, trebuie să introduceți datele utilizatorului și să faceți clic pe butonul „Autentificare”. Când formularul este încărcat, numele de familie de utilizator conținute în tabelul Users sunt încărcate în controlul comboBox1. În acest handler se adaugă linii care fac meniurile inaccesibile, butonul „Schimba utilizator” iar în elementul comboBox1 nu este selectat niciunul dintre elemente:

menuStrip1.Enabled = fals; comboBox1.SelectedIndex = -1;

button2.Enabled = fals;

Figura 1. Vedere a ferestrei principale a aplicației

Când faceți clic pe butonul „Autentificare”, se verifică dacă în tabelul „Utilizatori” există un utilizator cu numele de familie dat și dacă autentificarea și parola au fost introduse corect. În zona de descriere a clasei de formular, sunt descriși parametrii trecuți la comanda sql. Aceștia sunt trei parametri: numele de familie al utilizatorului, autentificarea și parola acestuia.

private string parfam, parpasw, parlog;

Linia este adăugată la spațiul de nume:

folosind System.Data.SqlClient;

// Manager de evenimente pentru a face clic pe butonul „Enter”.

șir sql = "";

string connstr = @ "Sursa datelor = B302CN-8 \ TEST_SQL; Catalog inițial = Agenție de turism; Securitate integrată = Adevărat";

SqlDataReader cmReader;

parfam = comboBox1.Text; parlog = textBox1.Text;

SqlConnection conn = SqlConnection nou (connstr);

sql = „SELECTează Nume, Autentificare, Parolă FROM Utilizatori” +

„UNDE (Nume = @fam) și (Parolă [email protected])";

SqlCommand cmdkod = SqlCommand nou (sql, conn);

cmdkod.Parameters.Add (nou SqlParameter ("@ fam", SqlDbType.NChar, 25));

cmdkod.Parameters ["@ fam"]. Valoare = parfam;

cmdkod.Parameters.Add (nou SqlParameter ("@ pasw", SqlDbType.NChar, 10));

cmdkod.Parameters ["@ pasw"]. Valoare = parpasw;

cmdkod.Parameters.Add (nou SqlParameter ("@ log", SqlDbType.NChar, 15));

cmdkod.Parameters ["@ log"]. Valoare = parlog;

dacă (! cmReader.Read ())

MessageBox.Show ("Parolă greșită!");

cmReader.Închide (); conn.Închidere ();

menuStrip1.Enabled = adevărat; comboBox1.SelectedIndex = -1;

button1.Enabled = fals; butonul2.Activat = adevărat;

textBox1.Text = ""; textBox1.Enabled = false;

textBox2.Text = ""; textBox2.Enabled = fals;

comboBox1.Enabled = fals;

cmReader.Închide ();

private void button2_Click (expedător obiect, EventArgs e)

menuStrip1.Enabled = false; comboBox1.Enabled = adevărat;

textBox1.Enabled = adevărat; textBox2.Enabled = adevărat;

button1.Enabled = adevărat; button2.Enabled = fals;

Descrierea funcționării handler-ului de evenimente pentru apăsarea butonului „Enter”.

Șirul connstr conține șirul de conexiune. Linia sql scrie textul interogării generate, începând cu instrucțiunea select, după care sunt listate câmpurile selectabile din tabelele care sunt specificate după cuvântul from.

Managerul creează o nouă instanță a obiectului SqlConnection care oferă o conexiune la serverul SQL. Obiectul SqlCommand conține o comandă cu trei parametri pentru căutarea în tabelul Users pentru un utilizator cu numele de familie, login și parola date. Managerul button1_Click deschide o SqlConnection. Handler-ul execută apoi comanda SQL stocată în obiectul cmdkod.

cmReader = cmdkod.ExecuteReader ();

Ca urmare a executării metodei ExecuteReader, este creat un obiect al clasei SqlDataReader, care vă permite să citiți secvențial toate liniile execuției comenzii SQL. Pentru selecție se folosește metoda SqlDataReader. Citit. Dacă tabelul „Utilizatori” nu conține nicio înregistrare cu numele de familie, autentificarea și parola specificate, atunci metoda cmReader.Read () va returna false. Aceasta înseamnă că ați introdus un nume de utilizator sau o parolă incorectă. În acest caz, este afișat un mesaj despre datele introduse nevalide, obiectele cmReader și SqlConnection sunt închise. Dacă datele utilizatorului sunt introduse corect, meniul și butonul „Schimbați utilizator” devin disponibile. Butonul „Autentificare” devine indisponibil. Elementele textBox1 și textBox2 sunt șterse și inaccesibile. Elementul comboBox1 devine, de asemenea, inaccesibil (Figura 2)

Figura 2. Vedere a ferestrei principale după ce utilizatorul se conectează la sistem

Tabelele și rezultatele interogării vor fi afișate pe controalele DataGridView. Scopul principal al acestor elemente este de a lega cu tabelele surselor de date externe, în primul rând cu tabelele bazei de date. Pentru comoditatea vizualizării și introducerii de noi intrări, tabelele „Anotimpuri”, „Tururi” și „Tururi”, „Plată” vor fi afișate două într-o singură fereastră. Fiecare control DataGridView este asociat cu un tabel corespunzător din baza de date a agenției de turism. Tabelul „Turiști” este selectat în această fereastră (Figura 3). Când finalizați conexiunea (faceți clic pe Terminare), componentele DataSet, BindingSource și TableAdapter apar în formular. Aceste componente nu sunt vizuale, deci sunt afișate în panoul suplimentar. DataSet este un obiect specializat care conține o imagine de bază de date. Pentru a implementa interacțiunea dintre DataSet și sursa de date reală, este utilizat un obiect de tip TableAdapter. Însuși numele acestui obiect - adaptor, convertor - indică natura acestuia. TableAdapter conține metodele Fill și Update care efectuează transferuri de date înainte și înapoi între DataSet și tabelul stocat în baza de date SQL a serverului. Metoda Fiil umple DataSetul cu date de pe serverul SQL, iar Update actualizează baza de date a serverului date SQL din setul de date local. Componenta BindingSource facilitează legarea controalelor dintr-un formular la date. Proprietatea principală a componentei BindingSource este proprietatea Sursă de date, care indică către sursa de date.

După ce tabelele sunt conectate la sursele de date, handlerul de evenimente Form2_Load apare în codul de program al formularului.

private void Form2_Load (emițător obiect, EventArgs e)

this.touristsTableAdapter.Fill (this.agency de turismDataSet9.Tourists);

Când formularul se încarcă, datele conținute în tabelul Turiști sunt afișate pe controlul DataGridView din fereastra formularului Form2. Puteți face modificări în tabel și puteți adăuga înregistrări noi. După efectuarea modificărilor, faceți clic pe butonul „Salvați turiștii”. Managerul de evenimente pentru a face clic pe butonul „Salvați turiștii”:

private void button1_Click (expedător obiect, EventArgs e)

seasonsTableAdapter.Update (agenție de turismDataSet9);

MessageBox.Show („Date salvate”);

Figura 3. Vedere a ferestrei cu tabelul „Turiști”.

Fiecare cerere este afișată într-o fereastră separată. În fereastra Form1 se adaugă meniul „Solicitări”. articol nou cu denumirea cererii. Dacă interogarea nu are parametri, în fereastra formularului este instalat un control DataGridView pentru a afișa rezultatele execuției interogării și se leagă de procedura corespunzătoare sau de funcția de bază de date.

Acest articol descrie câteva metode de dezvoltare a aplicațiilor care funcționează cu baze de date, o metodă de organizare a accesului pentru a lucra cu un sistem pentru un număr limitat de persoane, metode de integrare a aplicațiilor Visual C # cu un SGBD Microsoft SQL Server 2012. partajarea Limbajul de programare Visual C # cu SQL puteți crea aplicații puternice cu o gamă largă de capabilități. Principalul punct forte al SQL constă în recuperarea datelor. Indiferent câte rânduri există în tabel, le puteți prelua cu o singură instrucțiune SELECT. În același timp, principalul dezavantaj al limbajului SQL este interfața sa de utilizator subdezvoltată. Cu limbaje procedurale, puteți crea interfețe ușor de utilizat introducerea și vizualizarea datelor. Cea mai comună tehnică de combinare a SQL cu limbaje procedurale se numește injecție SQL. Instrucțiunea SQL este inserată în locația dorită în programul procedural. Informațiile trebuie să circule între un program scris într-un limbaj procedural și codul SQL. Pentru aceasta se folosesc variabile de bază. Pentru ca SQL să recunoască aceste variabile, acestea trebuie să fie declarate. Variabilele sunt declarate în zona de descriere a clasei din formular înainte de descrierea codului. În cod, obiectul SqlConnection nou creat oferă o conexiune la serverul SQL. Obiectul SqlCommand oferă execuția comenzii SQL încorporat.

Bibliografie:

  1. Allen Taylor. SQL pentru Dummies, ediția a 8-a: Per. din engleza - M .: SRL „I.D. Williams ”, 2014. - 416 p.
  2. Gaynanova R.Sh. Dezvoltarea de aplicații pentru lucrul cu baze de date MS SQL Server 2012 // Științe fundamentale și aplicate astăzi: Proceedings of the XI international practice Conference (10-11 aprilie 2017 Noth Charleston, SUA), volumul 3 - p. 34-41.
  3. Frolov A.V., Frolov G.V. Design vizual al aplicațiilor C#. - M .: KUDRITS-OBRAZ, 2003, - 512s.

Aproape fiecare organizație are propria sa bază de date. Dar ceea ce este cu adevărat acolo, chiar și site-urile le folosesc pentru a face mai ușor și mai ușor să lucrezi cu informații. Într-adevăr, vă permit să faceți calcule fără probleme, să găsiți rapid datele necesare și, în general, să creați pur și simplu ordine în orice informație.

Adesea, programatorii sunt angajați în crearea lor, deoarece acesta este un proces complex care este predat în instituțiile de învățământ superior. Există, de asemenea, multe lecții, cursuri și seturi de programe pentru crearea de software pentru dezvoltarea bazelor de date, o varietate cu adevărat mare, te poți încurca ușor. Acest articol va discuta unele dintre programele de bază pentru dezvoltarea bazelor de date.

Despre SQL

SQL este un limbaj de programare folosit pentru a crea baze de date. Dacă îl instalați pe computer și începeți să creați o bază de date, nu va fi foarte convenabil. Acest lucru se datorează faptului că SQL în sine nu are niciun shell grafic, iar interogările către baza de date trebuie trimise în general prin Linie de comanda... Din acest motiv, au apărut diverse tipuri de programe care simplifică dezvoltarea bazelor de date. Cu toate acestea, învățarea elementelor de bază ale acestei limbi încă merită. Dintr-o dată trebuie să faceți o solicitare, iar programul nu funcționează corect.

Microsoft Access

Acest program pentru crearea bazelor de date este foarte familiar pentru mulți. La urma urmei, ea vine într-un pachet programe Microsoft Birou. Acest program este unul dintre cele mai ușor de învățat, deoarece cunoașterea limbajului de programare SQL nu este practic necesară acolo. Puteți desemna doar ce interogare să faceți, iar programul va compune interogarea SQL în sine.

Despre relevanța programului. Până acum, bazele de date ale multor organizații au fost realizate folosind Microsoft Access. Într-adevăr, programul în sine este foarte ușor, există o interfață intuitivă. În plus, elementele de bază ale utilizării Access sunt predate chiar și la școală și la facultate!

PhpMyAdmin

Acces, desigur, este un program bun, dar dacă aveți nevoie de o bază de date pentru un site web, nu o va face. Apoi PhpMyAdmin vine în ajutor. Aceasta este foarte program util pentru a crea baze de date. Instalarea pe un computer durează ceva timp, iar în timpul instalării este ușor să faci ceva greșit și nu va funcționa. Prin urmare, atunci când instalați acest program pentru a crea baze de date, trebuie să urmați cu strictețe instrucțiunile. Dar un alt plus al PhpMyAdmin este că poate fi accesat prin Internet ca site! De exemplu, aveți un site web care este alimentat de WordPress. Va avea o bază de date. Și dacă aveți un site pe o găzduire bună, atunci, cel mai probabil, lucrul cu bazele de date se va desfășura prin PhpMyAdmin și va fi posibil să îl accesați prin panoul de control al găzduirii.

Un alt program pentru crearea bazelor de date. Este gratuit, dar există și o versiune plătită cu funcții îmbunătățite. Este ușor să creați legături cu tabele în acest program și, într-adevăr, este convenabil să lucrați cu acestea. De asemenea, un plus este că puteți afișa baza de date în grafic... Majoritatea oamenilor, când lucrează cu baze de date, preferă acest program special. În principiu, PhpMyAdmin nu este inferior în ceea ce privește capacitățile sale, dar cu toate acestea este mai mult destinat lucrului cu o bază de date de site-uri.

Acest articol a acoperit programele de bază pentru crearea bazelor de date. De fapt, există o mulțime de ele, așa că fiecare își alege un instrument pentru ei înșiși, dar dacă tocmai ați început și doriți să studiați acest domeniu, atunci este recomandat să lucrați cu MySQL WorkBench. Odată ce ați învățat elementele de bază ale SQL, nu va face o mare diferență pentru dvs. unde să lucrați, deoarece interogările sunt aceleași peste tot. De asemenea, este convenabil ca, după ce ați creat o bază de date într-un program, să o puteți deschide printr-un alt software, care este, de asemenea, proiectat să funcționeze cu baza de date. Când creați software cu o bază de date, nu puteți face fără aceste cunoștințe. În plus, după ce stăpânești SQL, poți chiar să-ți creezi propriul tău software pentru dezvoltarea și editarea bazelor de date.