Crearea de interogări în studioul vizual c. Crearea dinamică a interogărilor. Un exemplu de creare a unei baze de date locale Microsoft SQL Server în MS Visual Studio

În fereastra Server Explorer afișează tabelele bazei de date pe Microsoft SQL Server sub formă de arbore (vezi Fig. 4.1.), pentru fiecare tabel puteți deschide o fereastră făcând clic pe butonul Show Table Data. În această fereastră puteți edita datele tabelului. Această fereastră de editare arată aproximativ așa cum se arată în Fig. 4.2. Aproximativ, deoarece volumul complet nu a fost inclus în figură din cauza numărului mare de coloane.

      1. Implementarea mapării bazei de date

Maparea bazei de date (componenta DataSet) este necesară pentru a elimina apelurile inutile către baza de date și server. Aceasta este o caracteristică foarte importantă, deoarece dacă mulți utilizatori lucrează cu baza de date, încărcarea pe server poate fi destul de mare - numărul de solicitări este de multe ori mai mare, ceea ce va duce la o încetinire a execuției interogărilor.

Prin urmare, datorită DataSet-ului, computerul clientului afișează baza de date cu care lucrează. La terminarea lucrărilor, bazele de date client și server sunt sincronizate (sau mai bine zis, modificările făcute în baza de date client sunt făcute în baza de date server)

Afișarea bazei de date pe MS Visual Studio 2005 arată astfel:

Toate datele numerice sunt de tip Int32, datele șir sunt șir. Dimensiunile șirului de date corespund cu cele date în model fizic baze de date.

Captura de ecran arată că fiecare tabel conține și TableAdapters. Acestea sunt un fel de punți pentru conectarea setului de date și a sursei de date. Există metode precum Fill și GetData()

Această metodă este concepută pentru a popula tabelul cu datele necesare din sursă (fișierul bazei de date)

    Metoda GetData().

Proiectat pentru a prelua date dintr-un tabel de cartografiere.

    1. Implementare software

Caracteristica principală a implementării software-ului este faptul că toate clasele responsabile cu editarea tabelelor bazei de date sunt moștenite de la o clasă de bază, ceea ce face implementarea mai ușoară. Metodele acestei clase de bază au fost descrise mai sus. Metodele virtuale ale clasei de bază trebuie să fie suprascrise în clasa descendentă. Toate aceste metode vă permit să schimbați parametri precum numele antetului formularului, completarea și salvarea tabelului de bază de date dorit (o clasă descendentă funcționează doar cu un tabel, în sensul editării datelor; totuși, la afișarea datelor utilizatorului, este posibil să se utilizeze mai multe tabele de baze de date pentru a afișa datele într-o formă pe înțelesul utilizatorului).

      1. Interfața programului

Fereastra principală este o aplicație MDI care are următorul meniu:

Fiecare dintre tabelele pentru editarea bazei de date este apelat de elementul corespunzător de meniu „Tabele”.

De asemenea, se creează un raport privind volumul de muncă al profesorilor făcând clic pe elementul corespunzător de meniu „Rapoarte”.

Ca o caracteristică suplimentară a software-ului, există un element de meniu „Consolă” care vă permite să executați interogări SQL la baza de date, introdusă de utilizator și afișarea rezultatului într-un tabel (componenta DataTable). Pentru a face acest lucru, desigur, trebuie să cunoașteți numele tabelelor și câmpurilor și a fost creat în principal pentru a facilita implementarea software-ului, dar și alți utilizatori „dedicați” pot profita de acest lucru.

Exemplu de creație baza locala Date Microsoft SQL Server înDOMNIȘOARĂ Visual Studio

Acest subiect prezintă o soluție la problema creării unei baze de date de tip SQL Server folosind MS Visual Studio. Sunt luate în considerare următoarele întrebări:

  • lucrul cu fereastra Server Explorer din MS Visual Studio;
  • crearea unei baze de date locale de tip SQL Server Database;
  • crearea de tabele în baza de date;
  • editarea structurilor tabelelor;
  • conectarea tabelelor bazei de date între ele;
  • introducerea datelor în tabele folosind MS Visual Studio.

Stare problematica

Folosind instrumentele MS Visual Studio, creați o bază de date de tip MS SQL Server numită Education.

Baza de date conține două tabele Student și Session.

Tabelele sunt legate între ele printr-un anumit câmp.

Structura primului tabel „Student”.

Structura celui de-al doilea tabel „Sesiunea”.

Execuţie1. Descărcați MS Visual Studio.2. Activați

fereastră Server Explorer. Microsoft SQL Server, de exemplu: Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2014 și alte versiuni.

Aceste versiuni pot fi descărcate de pe site-ul web Microsoft www.msdn.com.

Acest server este excelent pentru a lucra cu baze de date. Este gratuit și are GUI pentru a crea și administra baze de date folosind SQL Server Management Tool.

În primul rând, înainte de a crea o bază de date, trebuie să activați utilitarul Server Explorer. Pentru a face acest lucru, în MS Visual Studio trebuie să apelați (Fig. 1)

Vizualizare -> Server Explorer

Orez. 1. Apelați Server Explorer

Odată apelată, fereastra Server Explorer va avea un aspect aproximativ, așa cum se arată în Figura 2.

Orez. 2. Fereastra Server Explorer

3. Crearea bazei de date „Educație”.

Pentru a crea o nouă bază de date bazată pe furnizorul de date Microsoft SQL Server, trebuie să faceți clic pe nodul Conexiuni de date și apoi să selectați „ Creați o nouă bază de date SQL Server...” (Fig. 3).

Orez. 3. Apelarea comenzii de creare a bazei de date SQL Server

Ca urmare, fereastra „ Creați o nouă bază de date SQL Server„(Fig. 4).

În fereastra (în câmpul „Nume server”), indicați numele server local instalat pe computerul dvs. În cazul nostru, acest nume este „SQLEXPRESS”.

În câmpul „Nume nou bază de date:”, indicați numele bază creată date. În cazul nostru, acest nume este Educație.

Opțiunea Utilizare autentificare Windows trebuie lăsată neschimbată și faceți clic pe OK.

Orez. 4. Creația noua baza Date SQL Server 2008 Express folosind MS Visual Studio 2010

După parcurgerea pașilor, fereastra Server Explorer va lua forma prezentată în Figura 5. După cum se poate vedea din Figura 5, baza de date Education cu numele

sasha-pc\sqlexpress.Education.dbo

Orez. 5. Fereastra Server Explorer după adăugarea bazei de date Education

4. Obiecte baze de date educaționale.

Dacă extindeți baza de date Education (semnul „+”), puteți vedea o listă cu următoarele obiecte principale:

  • Diagrame baze de date – diagrame baze de date. Diagramele arată relațiile dintre tabelele bazei de date, relațiile dintre câmpurile diferitelor tabele etc.;
  • Tabele – tabele în care sunt plasate datele bazei de date;
  • Vederi – reprezentări. Diferența dintre vederi și tabele este că tabelele bazei de date conțin date, în timp ce vizualizările de date nu, iar conținutul este selectat din alte tabele sau vederi;
  • Proceduri stocate – proceduri stocate. Sunt un grup de instrucțiuni SQL asociate care oferă flexibilitate suplimentară atunci când lucrați cu o bază de date.

5. Crearea tabelului Student.

Pe în acest moment Baza de date Education este complet goală și nu conține niciun obiect (tabele, proceduri stocate, vizualizări etc.).

Pentru a crea un tabel, trebuie să apelați meniul contextual (clic dreapta) și să selectați comanda „Adăugați tabel nou” (Figura 6).

Orez. 6. Adăugați o nouă comandă de tabel

Există o altă opțiune pentru adăugarea unui tabel de bază de date folosind comenzile din meniul Date:

Date -> Adăugați nou -> Tabel

Orez. 7. Opțiune alternativă adăugarea unui nou tabel

Ca rezultat, se va deschide fereastra de adăugare a tabelului, care conține trei coloane (Figura 8). În prima coloană „Numele coloanei” trebuie să introduceți numele câmpului corespunzător din tabelul bazei de date. În a doua coloană „Tipul de date” trebuie să introduceți tipul de date al acestui câmp. A treia coloană „Permite valori nule” indică opțiunea posibilității de a lipsi date în câmp.

Orez. 8. O nouă fereastră de creare a unui tabel

Folosind editorul de tabel, trebuie să creați tabelul Student așa cum se arată în Figura 9. Numele tabelului trebuie specificat când îl închideți.

În editorul de tabel, puteți seta proprietățile câmpului în fereastra Proprietăți coloane.

Pentru a seta lungimea șirului (nvchar) în caractere, există o proprietate Length în fereastra Column Properties.

Valoarea implicită pentru această proprietate este 10. Orez. 9. Masa studentului Următorul pas este să setați câmpul cheie. Acest lucru se face apelând comanda „Set Primary Key” de la

meniul contextual

Câmpuri Num_book.

Folosind câmpul cheie se vor stabili relații între tabele. În cazul nostru, câmpul cheie este numărul caietului de note.

Orez. 10. Setarea unui câmp cheie

După setarea cheii primare, fereastra tabelului va arăta ca în figura 11.

Orez. 11. Masa elevilor după formarea finală

Acum puteți închide masa. În fereastra pentru salvarea tabelului, trebuie să îi setați numele - Student (Fig. 12).

Orez. 12. Introducerea numelui tabelului Student

6. Crearea tabelului Session.

Urmând exemplul creării tabelului Student, este creat tabelul Session.

Figura 13 prezintă tabelul de sesiuni după formarea finală. Cheia primară este setată în câmpul Num_book.

7. Editarea structurii tabelului.

Există momente când trebuie să modificați structura unui tabel de bază de date.

Pentru a face modificări la tabelele bazei de date în MS Visual Studio, mai întâi trebuie să debifați opțiunea „Preveniți salvarea modificărilor” care necesită recrearea mesei” așa cum se arată în Figura 14. În caz contrar, MS Visual Studio va bloca modificările aduse tabelului creat anterior. Fereastra Opțiuni prezentată în Figura 14 este apelată din meniul Instrumente în următoarea secvență:

Tools -> Options -> Database Tools -> Table and Database Designers

Orez. 14. Opțiunea „ Preveniți salvarea modificărilor care necesită recrearea tabelului

Odată configurat, puteți modifica structura tabelului. Pentru a face acest lucru, utilizați comanda „Open Table Definition” (Figura 15) din meniul contextual, care este apelat pentru tabelul selectat (clic dreapta).

Orez. 15. Apelarea comenzii „Open Table Definition”.

Această comandă se află și în meniul Date:

Date -> Definiție tabel deschis

Tabelul trebuie mai întâi selectat.

8. Stabilirea legăturilor între tabele.

În conformitate cu condițiile problemei, tabelele sunt legate între ele prin câmpul Num_book.

Pentru a crea o relație între tabele, trebuie mai întâi (Figura 16):

  • selectați obiectul Diagrama bazei de date;
  • selectați comanda Add New Diagram din meniul contextual (sau din meniul Date).

Orez. 16. Apelarea comenzii pentru a adăuga o nouă diagramă

Ca rezultat, se va deschide o fereastră pentru adăugarea unei noi diagrame Add Table (Figura 17). În această fereastră, trebuie să selectați două tabele Sesiune și Student în secvență și faceți clic pe butonul Adăugare.

Orez. 17. Fereastra pentru adăugarea de tabele la o diagramă

Orez. 18. Tabelele pentru elev și sesiune după adăugarea lor la diagramă

Pentru a începe să stabiliți o relație între tabele, trebuie să faceți clic pe câmpul Num_book din tabelul Student și apoi (fără a elibera butonul mouse-ului) să îl trageți în câmpul Num_book din tabelul Session.

Ca rezultat, două ferestre se vor deschide secvenţial: Tables and Columns (Fig. 19) şi Foreign Key Relationship (Fig. 20), în care trebuie să lăsaţi totul ca atare şi să confirmaţi alegerea cu OK.

În fereastra Tabele și coloane sunt specificate numele relației (FK_Session_Student) și numele tabelelor părinte (Student) și copil.

Orez. 19. Fereastra Tabele și Coloane

Orez. 20. Fereastra pentru setarea proprietatilor relatiei

După acțiunile finalizate, se va stabili relația dintre tabele (Figura 21).

Orez. 21. Relația dintre tabelele Student și Session

Salvarea unei diagrame se face în același mod ca și salvarea unui tabel. Numele diagramei trebuie ales la discreția dvs. (de exemplu, Diagrama 1).

După specificarea numelui diagramei, se va deschide fereastra Salvare, în care trebuie să confirmați alegerea (Figura 22).

Orez. 22. Confirmarea salvării modificărilor în tabele

9. Introducerea datelor în tabele.

Microsoft Visual Studio vă permite să introduceți direct date în tabelele bazei de date.

În cazul nostru, când se stabilește o conexiune (Fig. 19), tabelul Student este selectat ca Tabel cheie primară.

Prin urmare, mai întâi trebuie să introduceți date în celulele acestui tabel special. Dacă încercați să introduceți mai întâi date în tabelul de sesiune, sistemul va bloca o astfel de intrare și va afișa un mesaj corespunzător.

Pentru a apela modul de introducere a datelor în tabelul Student, trebuie să apelați comanda Show Table Data din meniul contextual (clic dreapta) sau din meniul Date (Fig. 23).

Orez. 23. Comanda Afișare date tabel

Se va deschide o fereastră în care trebuie să introduceți datele de intrare (Fig. 24).

Orez. 24. Introducerea datelor în tabelul Student

După introducerea datelor în tabelul Student, trebuie să introduceți datele în tabelul Session.

Când introduceți date în câmpul Num_book din tabelul Session, trebuie să introduceți exact aceleași valori care au fost introduse în câmpul Num_book din tabelul Student (deoarece aceste câmpuri sunt legate între ele). “101”, “102”, “103” De exemplu, dacă valorile sunt introduse în câmpul Num_book din tabelul Student

(vezi Fig. 24), atunci aceste valori ar trebui introduse în câmpul Num_book din tabelul Session.

Dacă încercați să introduceți o valoare diferită, sistemul va afișa aproximativ următoarea fereastră (Fig. 25).

Orez. 25. Mesaj de eroare despre introducerea datelor pentru tabelele Student și Session legate

Tabelul de sesiuni cu datele introduse este prezentat în Figura 26.

În acest articol, veți afla ce este LINQ și cum să interogați liste folosindu-l. Ce este LINQ? Language Integrated Query (LINQ) este un limbaj de interogare integrat, sau mai degrabă un proiect Microsoft controversat pentru a adăuga o sintaxă a limbajului de interogare similară cu SQL. Definiție specifică, cu acest instrument puteți crea relativ ușor interogări împotriva tabelelor și listelor de date, nu neapărat o bază de date. Exemplele Microsoft scapă un mic, dar important detaliu. Pentru a lucra cu un set de date, trebuie să folosim structura DataContext, a cărei definiție poate fi obținută folosind SPMetal.exe pentru o listă sau bibliotecă prezentă pe serverul Sharepoint. Cu alte cuvinte, trebuie mai întâi să definim acest tip de date și apoi să creăm o interogare

Pentru a funcționa, avem nevoie de un fel de listă. Să folosim o listă simplă - „listă personalizată”; titlu - „Apel simplu”; câmpuri implicite: Număr, Titlu.

Și așa, să creăm unul simplu (vezi pagina corespunzătoare), cu ajutorul căruia vom observa rezultatul manipulărilor noastre. Când creăm un proiect, vom selecta un model de încredere izolat, dacă este nevoie să lucrați cu liste sau date ale altor noduri, atunci trebuie să creați un proiect pentru fermă.

Apoi, să creăm o clasă de fișiere „SimpleInversion.cs” folosind SPMetal.exe sau un plugin pentru studio. Să adăugăm un link către biblioteca Microsoft.Sharepoint.Linq. Mai mult informatii detaliate poate fi obținut de pe site-ul web MSDN.

Să creăm funcția Render și my_mess. În ultima funcție vom genera date pentru afișare.

// supraîncărcați funcția
protected override void Render (scriitor HtmlTextWriter)
{
bază .Render(writer);
my_mess(scriitor);
}

// Funcția noastră pentru lucrul cu o listă
public void my_mess (scriitor HtmlTextWriter)
{
// Creați un context
DataContext data = new DataContext("http://localhost");
// Conectați-l la lista corespunzătoare de pe site în rădăcină
EntityList<Элемент>Simple_Message = data.GetList<Элемент>(„Apel simplu”);
// Executați cererea - selectați toate liniile din lista „Solicitare simplă”.
var query = din mizerie în Simple_Message
selectați mizerie;
// afișează toate datele din rezultatul interogării
foreach (var elem în interogare)
{
scriitor.WriteLine( „Element din listă:”+ elem.Name.ToString());
scriitor.WriteBreak();
}

}

Compilăm proiectul și îl adăugăm pe pagină. Ca rezultat, toate liniile din listă vor fi afișate.

De continuat mai târziu (articolul nu este terminat)...