Sa artikulong ito, malalaman mo kung ano ang LINQ at kung paano mag-query ng mga listahan gamit ito.

Ano ang LINQ? Ang Language Integrated Query (LINQ) ay isang pinagsamang wika ng query, o sa halip ay isang kontrobersyal na proyekto ng Microsoft upang magdagdag ng syntax ng wika ng query na katulad ng SQL. Tukoy na kahulugan, gamit ang tool na ito medyo madali kang makakagawa ng mga query laban sa mga talahanayan at listahan ng data, hindi kinakailangang isang database.

Ang mga halimbawa ng Microsoft ay nakaligtaan ng isang maliit ngunit mahalagang detalye. Upang gumana sa isang set ng data, kailangan nating gamitin ang istraktura ng DataContext, ang kahulugan nito ay maaaring makuha gamit ang SPMetal.exe para sa isang listahan o library na nasa Sharepoint server. Sa madaling salita, kailangan muna nating tukuyin ang uri ng data na ito, at pagkatapos ay gumawa ng query Sa pangkalahatan, inirerekomenda ko ang paggamit espesyal na utility upang magtrabaho sa MVS: Imtech Get SPMetal Definition Extension.

Upang magtrabaho, kailangan namin ng ilang uri ng listahan. Samantalahin natin simpleng listahan- "pasadyang listahan"; pamagat - "Simpleng Apela"; mga default na field: Numero, Pamagat.

At kaya, gumawa tayo ng isang simple (tingnan ang kaukulang pahina), sa tulong kung saan mapapansin natin ang resulta ng ating mga manipulasyon. Kapag lumilikha ng isang proyekto, pipili kami ng isang nakahiwalay na modelo ng tiwala kung may pangangailangan na magtrabaho kasama ang mga listahan o data ng iba pang mga node, pagkatapos ay kailangan mong lumikha ng isang proyekto para sa sakahan.

Susunod, gumawa tayo ng klase ng file na "SimpleInversion.cs" gamit ang SPMetal.exe o isang plugin para sa studio. Magdagdag tayo ng link sa Microsoft.Sharepoint.Linq library. Higit pa detalyadong impormasyon maaaring makuha mula sa MSDN website.

Gawin natin ang Render function at my_mess. SA huling function Bubuo kami ng data para ipakita.

// overload ang function
protected override void Render(manunulat ng HtmlTextWriter)
{
base .Render(manunulat);
my_mess(manunulat);
}

// Ang aming function para sa pagtatrabaho sa isang listahan
public void my_mess(manunulat ng HtmlTextWriter)
{
// Lumikha ng konteksto
DataContext data = bagong DataContext("http://localhost" );
// I-link ito sa kaukulang listahan sa site sa ugat
EntityList<Элемент>Simple_Message = data.GetList<Элемент>("Simpleng apela");
// Isagawa ang kahilingan - piliin ang lahat ng linya mula sa listahan ng "Simple Request".
var query = mula sa gulo sa Simple_Message
piliin ang gulo;
// ipakita ang lahat ng data mula sa resulta ng query
foreach (var elem sa query)
{
manunulat.WriteLine( "Item sa listahan:"+ elem.Name.ToString());
writer.WriteBreak();
}

}

Binubuo namin ang proyekto at idinagdag ito sa pahina. Bilang resulta, ang lahat ng mga linya sa listahan ay ipapakita.

Itutuloy mamaya (hindi pa tapos ang artikulo)...

Halimbawa ng paglikha ng isang lokal na database data ng Microsoft SQL Server saMS Visual Studio

Ang paksang ito ay nagpapakita ng solusyon sa problema ng paglikha ng isang database ng uri ng SQL Server gamit ang MS Visual Studio. Ang mga sumusunod na katanungan ay isinasaalang-alang:

  • nagtatrabaho sa window ng Server Explorer sa MS Visual Studio;
  • paglikha ng isang lokal na database ng uri ng SQL Server Database;
  • paglikha ng mga talahanayan sa database;
  • pag-edit ng mga istruktura ng talahanayan;
  • pag-uugnay ng mga talahanayan ng database sa isa't isa;
  • pagpasok ng data sa mga talahanayan gamit ang MS Visual Studio.

Kondisyon ng problema

Gamit ang mga tool ng MS Visual Studio, lumikha ng database ng uri ng MS SQL Server na pinangalanang Education.

Ang database ay naglalaman ng dalawang talahanayan ng Mag-aaral at Session.

Ang mga talahanayan ay nauugnay sa bawat isa sa pamamagitan ng ilang field.

Ang istraktura ng unang talahanayan na "Mag-aaral".

Ang istraktura ng pangalawang talahanayan na "Session".

Pagbitay1. I-download ang MS Visual Studio.2. Isaaktibo

bintana Server Explorer. Para sa pagtatrabaho sa mga database, nag-aalok ang Microsoft ng isang magaan na server ng database, ang Microsoft SQL Server. meron

iba't ibang bersyon

Microsoft SQL Server, halimbawa: Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2014 at iba pang mga bersyon.

Maaaring ma-download ang mga bersyong ito mula sa website ng Microsoft na www.msdn.com.

Ang server na ito ay mahusay para sa pagtatrabaho sa mga database. Ito ay libre at may graphical na interface para sa paglikha at pangangasiwa ng mga database gamit ang SQL Server Management Tool.

Una sa lahat, bago lumikha ng isang database, kailangan mong i-activate ang utility ng Server Explorer. Upang gawin ito, sa MS Visual Studio kailangan mong tumawag (Fig. 1)

Tingnan -> Server Explorer

kanin. 1. Tawagan ang Server Explorer

Pagkatapos tumawag, ang window ng Server Explorer ay magkakaroon ng tinatayang hitsura, tulad ng ipinapakita sa Figure 2.

kanin. 2. Window ng Server Explorer 3. Paglikha ng database ng "Edukasyon". Upang lumikha ng bagong database batay sa tagapagbigay ng data ng Microsoft SQL Server, kailangan mong mag-click sa Data Connections node at pagkatapos ay piliin ang “

Lumikha ng Bagong SQL Server Database...

” (Larawan 3). kanin. 3. Pagtawag sa SQL Server database creation command Bilang isang resulta, ang window "

Lumikha ng Bagong SQL Server Database "(Larawan 4). naka-install sa iyong computer. Sa aming kaso, ang pangalang ito ay "SQLEXPRESS".

Ang field na "Bagong database name:" ay nagpapahiwatig ng pangalan ng database na ginagawa. Sa aming kaso, ang pangalang ito ay Edukasyon.

Ang opsyong Gamitin ang Windows Authentication ay dapat iwanang hindi nagbabago at i-click ang OK.

kanin. 4. Paglikha bagong base SQL Server 2008 Express data gamit ang MS Visual Studio 2010

Matapos makumpleto ang mga hakbang, ang window ng Server Explorer ay kukuha ng form tulad ng ipinapakita sa Figure 5. Tulad ng makikita mula sa Figure 5, ang database ng Edukasyon na may pangalan

sasha-pc\sqlexpress.Education.dbo

kanin. 5. Server Explorer window pagkatapos idagdag ang Education database

4. Mga object ng database ng edukasyon.

Kung palawakin mo ang database ng Edukasyon ("+" sign), makikita mo ang isang listahan ng mga sumusunod na pangunahing bagay:

  • Mga Diagram ng Database - mga diagram ng database. Ang mga diagram ay nagpapakita ng mga ugnayan sa pagitan ng mga talahanayan ng database, mga ugnayan sa pagitan ng mga patlang ng iba't ibang mga talahanayan, atbp.;
  • Mga talahanayan - mga talahanayan kung saan inilalagay ang data ng database;
  • Views – mga representasyon. Ang pagkakaiba sa pagitan ng mga view at mga talahanayan ay ang mga talahanayan ng database ay naglalaman ng data, habang ang mga view ng data ay hindi, at ang nilalaman ay pinili mula sa iba pang mga talahanayan o mga view;
  • Mga nakaimbak na pamamaraan - mga nakaimbak na pamamaraan. Ang mga ito ay isang pangkat ng mga nauugnay na SQL statement na nagbibigay ng karagdagang flexibility kapag nagtatrabaho sa isang database.

5. Paglikha ng talahanayan ng Mag-aaral.

Naka-on sa ngayon Ang database ng Edukasyon ay ganap na walang laman at hindi naglalaman ng anumang mga bagay (mga talahanayan, mga nakaimbak na pamamaraan, mga view, atbp.).

Upang lumikha ng isang talahanayan, kailangan mong tawagan ang menu ng konteksto (i-click i-right click mouse) at piliin ang command na "Magdagdag ng Bagong Talahanayan" (Larawan 6).

kanin. 6. Magdagdag ng bagong utos ng talahanayan

May isa pang opsyon para sa pagdaragdag ng talahanayan ng database gamit ang mga utos ng menu ng Data:

Data -> Magdagdag ng Bago -> Talahanayan

kanin. 7. Alternatibong opsyon pagdaragdag ng bagong talahanayan

Bilang resulta, magbubukas ang window ng add table, na naglalaman ng tatlong column (Figure 8). Sa unang hanay na "Pangalan ng Column" kailangan mong ipasok ang pangalan ng kaukulang field sa talahanayan ng database. Sa pangalawang column na "Uri ng Data" kailangan mong ipasok ang uri ng data ng field na ito. Ang ikatlong column na "Allow Nulls" ay nagpapahiwatig ng opsyon ng posibilidad ng nawawalang data sa field.

kanin. 8. Bagong window ng paglikha ng talahanayan

Gamit ang editor ng talahanayan, kailangan mong lumikha ng talahanayan ng Mag-aaral tulad ng ipinapakita sa Figure 9. Ang pangalan ng talahanayan ay dapat na tinukoy kapag isinara ito.

Sa editor ng talahanayan, maaari mong itakda ang mga katangian ng field sa window ng Column Properties.

Upang maitakda ang haba ng string (nvchar) sa mga character, mayroong isang Length property sa Column Properties window.

Ang default na halaga para sa property na ito ay 10. kanin. 9. Mesa ng mag-aaral Ang susunod na hakbang ay itakda ang key field. Ginagawa ito sa pamamagitan ng pagtawag sa command na "Itakda ang Pangunahing Key" mula sa

menu ng konteksto

Mga patlang ng Num_book.

Gamit ang key field, itatatag ang mga ugnayan sa pagitan ng mga talahanayan. Sa aming kaso, ang pangunahing field ay ang numero ng gradebook.

kanin. 10. Pagtatakda ng key field

Matapos itakda ang pangunahing susi, ang window ng talahanayan ay magmumukhang ipinapakita sa Figure 11.

kanin. 11. Mesa ng mag-aaral pagkatapos ng huling pormasyon

Ngayon ay maaari mong isara ang talahanayan. Sa window para sa pag-save ng talahanayan, kailangan mong itakda ang pangalan nito - Mag-aaral (Larawan 12).

kanin. 12. Pagpasok ng table name ng Student

6. Paglikha ng talahanayan ng Session.

Kasunod ng halimbawa ng paglikha ng talahanayan ng Mag-aaral, ang talahanayan ng Session ay nilikha.

Ipinapakita ng Figure 13 ang talahanayan ng Session pagkatapos ng huling pagbuo. Ang pangunahing key ay nakatakda sa field ng Num_book.

Ang pangalan ng talahanayan ay ibinigay ng Session.

kanin. 13. Mesa ng session

Pagkatapos makumpleto ang mga hakbang, dalawang talahanayan na Mag-aaral at Session ang ipapakita sa window ng Server Explorer. Kaya, ang anumang bilang ng mga talahanayan ay maaaring idagdag sa database. 7. Pag-edit ng istraktura ng talahanayan.

May mga oras na kailangan mong baguhin ang istraktura ng isang talahanayan ng database.

Upang makagawa ng mga pagbabago sa mga talahanayan ng database sa MS Visual Studio, kailangan mo munang alisan ng tsek ang opsyong "Pigilan ang Pag-save ng mga pagbabago" na nangangailangan ng muling paglikha ng talahanayan

” gaya ng ipinapakita sa Figure 14. Kung hindi, haharangin ng MS Visual Studio ang mga pagbabago sa naunang ginawang talahanayan. Ang Options window na ipinapakita sa Figure 14 ay tinawag mula sa Tools menu sa sumusunod na pagkakasunod-sunod:

Tools -> Opsyon -> Database Tools -> Table at Database Designer

kanin. 14. Pagpipilian "

Pigilan ang Pag-save ng mga pagbabago na nangangailangan ng muling paggawa ng talahanayan

Kapag na-configure, maaari mong baguhin ang istraktura ng talahanayan. Upang gawin ito, gamitin ang command na "Open Table Definition" (Figure 15) mula sa menu ng konteksto, na tinatawag para sa napiling talahanayan (right click).

kanin. 15. Pagtawag sa "Open Table Definition" na utos

Ang utos na ito ay matatagpuan din sa menu ng Data:

Data -> Open Table Definition

  • Dapat munang piliin ang talahanayan.
  • piliin ang Add New Diagram command mula sa context menu (o mula sa Data menu).

kanin. 16. Pagtawag sa command para magdagdag ng bagong diagram

Bilang resulta, magbubukas ang isang window para sa pagdaragdag ng bagong Add Table diagram (Figure 17). Sa window na ito, kailangan mong pumili ng dalawang table na Session at Student sa pagkakasunod-sunod at i-click ang Add button.

kanin. 17. Window para sa pagdaragdag ng mga talahanayan sa isang diagram

kanin. 18. Mga talahanayan ng Mag-aaral at Sesyon pagkatapos idagdag ang mga ito sa diagram

Upang magsimulang magtatag ng isang relasyon sa pagitan ng mga talahanayan, kailangan mong mag-click sa field ng Num_book ng talahanayan ng Mag-aaral, at pagkatapos (nang hindi binibitiwan ang pindutan ng mouse) i-drag ito sa field ng Num_book ng talahanayan ng Session.

Bilang resulta, dalawang bintana ang magbubukas nang sunud-sunod: Mga Talahanayan at Haligi (Fig. 19) at Foreign Key Relationship (Fig. 20), kung saan kailangan mong iwanan ang lahat ng bagay at kumpirmahin ang iyong pinili gamit ang OK.

Sa window ng Tables and Columns, tinukoy ang pangalan ng relasyon (FK_Session_Student) at ang mga pangalan ng magulang (Estudyante) at child table.

kanin. 19. Window ng Mga Table at Column

kanin. 20. Window para sa pag-set up ng mga katangian ng kaugnayan

Pagkatapos ng mga nakumpletong aksyon, ang ugnayan sa pagitan ng mga talahanayan ay itatatag (Larawan 21).

kanin. 21. Relasyon sa pagitan ng mga talahanayan ng Mag-aaral at Session

Ang pag-save ng isang diagram ay ginagawa sa parehong paraan tulad ng pag-save ng isang talahanayan. Ang pangalan ng diagram ay dapat piliin ayon sa iyong pagpapasya (halimbawa, Diagram1).

Matapos tukuyin ang pangalan ng diagram, magbubukas ang Save window, kung saan kailangan mong kumpirmahin ang iyong pinili (Larawan 22).

kanin. 22. Kumpirmasyon ng pag-save ng mga pagbabago sa mga talahanayan

9. Pagpasok ng data sa mga talahanayan.

Binibigyang-daan ka ng Microsoft Visual Studio na direktang magpasok ng data sa mga talahanayan ng database.

Sa aming kaso, kapag nagtatatag ng isang koneksyon (Larawan 19), ang talahanayan ng Mag-aaral ay pinili bilang Pangunahing Talahanayan ng Pangunahing Key.

Samakatuwid, kailangan mo munang magpasok ng data sa mga cell ng partikular na talahanayang ito. Kung susubukan mo munang magpasok ng data sa talahanayan ng Session, haharangin ng system ang naturang input at magpapakita ng kaukulang mensahe.

Upang tawagan ang mode para sa pagpasok ng data sa talahanayan ng Mag-aaral, kailangan mong tawagan ang utos ng Show Table Data mula sa menu ng konteksto (right-click) o mula sa menu ng Data (Fig. 23).

kanin. 23. Ipakita ang Table Data Command

Magbubukas ang isang window kung saan kailangan mong magpasok ng data ng input (Larawan 24).

kanin. 24. Pagpasok ng data sa talahanayan ng Mag-aaral

Pagkatapos magpasok ng data sa talahanayan ng Mag-aaral, kailangan mong magpasok ng data sa talahanayan ng Session.

Halimbawa, kung ang mga halaga ay ipinasok sa patlang ng Num_book ng talahanayan ng Mag-aaral “101”, “102”, “103” (tingnan ang Fig. 24), kung gayon ang mga halagang ito ay dapat ipasok sa field ng Num_book ng talahanayan ng Session.

Kung susubukan mong magpasok ng ibang halaga, ipapakita ng system ang humigit-kumulang sa sumusunod na window (Larawan 25).

kanin. 25. Mensahe ng error tungkol sa pagpasok ng data para sa mga naka-link na talahanayan ng Mag-aaral at Session

Ang talahanayan ng Session na may inilagay na data ay ipinapakita sa Figure 26.

      1. Sa window ng Server Explorer, kung saan ang mga talahanayan ng database sa Microsoft SQL Server ay ipinakita sa anyo ng isang puno (tingnan ang Fig. 4.1.), maaari kang magbukas ng isang window para sa bawat talahanayan sa pamamagitan ng pag-click sa pindutan ng Ipakita ang Data ng Talahanayan. Sa window na ito maaari mong i-edit ang data ng talahanayan. Ang window ng pag-edit na ito ay mukhang humigit-kumulang tulad ng ipinapakita sa Fig. 4.2. Tinatayang, dahil ang buong volume ay hindi kasama sa figure dahil sa malaking bilang ng mga haligi.

Pagpapatupad ng Database Mapping

Ang pagmamapa ng database (bahagi ng DataSet) ay kinakailangan upang maalis ang mga hindi kinakailangang tawag sa database at server. Ito ay isang napakahalagang tampok, dahil kung maraming mga gumagamit ang nagtatrabaho sa database, ang pag-load sa server ay maaaring masyadong malaki - ang bilang ng mga kahilingan ay maraming beses na mas malaki, na hahantong sa isang pagbagal sa pagpapatupad ng query.

Samakatuwid, dahil sa DataSet, ipinapakita ng computer ng kliyente ang database kung saan ito gumagana. Sa pagkumpleto ng trabaho, ang mga database ng kliyente at server ay naka-synchronize (o sa halip, ang mga pagbabagong ginawa sa database ng kliyente ay ginawa sa database ng server)

Ang pagpapakita ng aming database sa MS Visual Studio 2005 ay ganito ang hitsura:

Ang lahat ng numeric data ay may uri na Int32, ang string data ay String. Ang mga laki ng data ng string ay tumutugma sa mga ibinigay sa modelo ng pisikal na database.

Ipinapakita ng screenshot na ang bawat talahanayan ay naglalaman din ng TableAdapters. Ito ay isang uri ng mga tulay para sa pagkonekta sa DataSet at ang data source. Mayroong mga pamamaraan tulad ng Fill at GetData()

    Idinisenyo ang paraang ito upang punan ang talahanayan ng kinakailangang data mula sa pinagmulan (database file)

GetData() method

    1. Idinisenyo upang kumuha ng data mula sa isang mapping table.

Pagpapatupad ng software Ang pangunahing tampok sa pagpapatupad ng software ay ang katotohanan na ang lahat ng mga klase na responsable para sa pag-edit ng mga talahanayan ng database ay minana mula sa isa., na ginagawang mas madaling ipatupad. Ang mga pamamaraan ng base class na ito ay inilarawan sa itaas. Dapat na ma-override ang mga virtual na pamamaraan ng base class sa descendant class. Pinapayagan ka ng lahat ng mga pamamaraang ito na baguhin ang mga parameter tulad ng pangalan ng header ng form, pagpuno at pag-save ng nais na talahanayan ng database (ang isang descendant na klase ay gumagana lamang sa isang talahanayan, sa kahulugan ng pag-edit ng data; gayunpaman, kapag nagpapakita ng data sa gumagamit, posible na gumamit ng ilang mga talahanayan ng database upang maipakita ang data sa isang form na naiintindihan ng gumagamit).

      1. Interface ng programa

Ang pangunahing window ay isang MDI application na mayroong sumusunod na menu:

Ang bawat isa sa mga talahanayan para sa pag-edit ng database ay tinatawag ng kaukulang item sa menu na "Tables".

Ang isang ulat sa workload sa mga guro ay ginagawa din sa pamamagitan ng pag-click sa kaukulang item sa menu na "Mga Ulat".

Bilang isang karagdagang tampok ng software, mayroong isang menu item na "Console", na nagpapahintulot sa iyo na magsagawa ng mga query sa SQL sa database na ipinasok ng user at ipakita ang resulta sa isang talahanayan (bahagi ng DataTable). Upang gawin ito, siyempre, kailangan mong malaman ang mga pangalan ng mga talahanayan at mga patlang, at higit sa lahat ay nilikha para sa layunin ng kaginhawaan sa pagpapatupad ng software, ngunit ang iba pang mga "nakatuon" na mga gumagamit ay maaari ring samantalahin ito.

Anotasyon: Pagkatapos basahin ang lecture na ito, magagawa mong: lumikha ng mga query gamit ang SQL Server Management Studio Query Builder, kunin ang impormasyon ng database mula sa mga talahanayan ng database system, dynamic na lumikha mga simpleng tanong batay sa input ng user, i-format ang input ng user at i-filter ang mga kumplikadong dynamic na query, i-parse at i-reformat ang data para magamit sa isang filter, protektahan ang database mula sa mga pag-atake ng SQL injection, gamitin ang sp_executeSql para ipasa ang query

Ang nakaraang lecture ay nagsalita tungkol sa kung paano tumaas pagganap mga kahilingan. Ngayon alam mo na kung paano lumikha ng isang epektibong hanay ng mga query upang maibigay sa mga user ang pinakamaraming kapaki-pakinabang na impormasyon mula sa iyong application gamit ang mga pre-built na query sa mga nakaimbak na pamamaraan o view.

Gayunpaman, sa lahat maliban sa pinakasimpleng mga application, imposibleng malaman ang lahat nang maaga. posibleng mga opsyon ang mga uri ng impormasyon na maaaring kailanganin ng mga gumagamit at kung paano nila nais na salain at ayusin ito. Sa halip na subukang ibigay ang lahat ng ganoong kakayahan, maaari mong bigyan ang user ng kontrol sa impormasyong iniulat ng application. Tinatalakay ng lecture na ito kung paano dynamic na bumuo ng mga query batay sa mga pagpipiliang ginagawa ng user sa panahon ng runtime.

User interface para sa pagbuo ng mga query

Kasama sa SQL Server Management Studio ang isang sopistikadong interface para sa pagbuo ng mga query. Tuklasin natin ang interface na ito para mabigyan ka ng ideya kung paano dynamic na magagawa ang mga query. Hindi kakailanganin ng iyong aplikasyon ang lahat ng ito mga kontrol na ibinibigay ng SQL Server Management Studio. Mahalaga, kailangan mong pag-isipang mabuti kung paano sa pinakamahusay na posibleng paraan limitahan ang mga pagpipilian ng mga gumagamit.

Gumawa ng query gamit ang SQL Server Management Studio Query Builder

Pagkuha ng impormasyon tungkol sa mga talahanayan ng database

Upang mabigyan ang user ng isang listahan ng mga opsyon, maaaring kailanganin ng application na kunin ang impormasyon tungkol sa mga talahanayan ng database. Mayroong ilang mga paraan upang makuha ang impormasyong ito. Ang pinakamahalaga sa mga pamamaraang ito ay ang paggamit ng INFORMATION_SCHEMA schema. Ang schema na ito ay pamantayan sa anumang database.

Gamit ang INFORMATION_SCHEMA

Ang INFORMATION_SCHEMA schema ay isang espesyal na schema na umiiral sa bawat database. Naglalaman ito ng mga kahulugan ng ilang mga object ng database.

Ang INFORMATION_SCHEMA ay sumusunod sa pamantayan ng ANSI, na idinisenyo upang kunin ang impormasyon mula sa anumang ANSI-compliant na database engine. Sa SQL Server, ang INFORMATION_SCHEMA ay binubuo ng isang hanay ng mga view na nagtatanong ng sys* mga talahanayan ng database na naglalaman ng impormasyon tungkol sa istruktura ng database. Maaaring direktang i-query ang mga talahanayang ito, tulad ng anumang talahanayan ng database. Gayunpaman, sa karamihan ng mga kaso, mas mainam na gumamit ng INFORMATION_SCHEMA schema view upang makuha ang impormasyon mula sa *sys tables.

Tandaan. Ang INFORMATION_SCHEMA schema minsan ay nagtatanong ng mga talahanayan na hindi kailangan, na nakakasama sa pagganap. Sa susunod na halimbawa sa araling ito, hindi ito partikular na mahalaga dahil naghihintay na ang application para sa input ng user. Gayunpaman, dapat itong isaalang-alang kung ang bilis ay isang mahalagang aspeto para sa iyong aplikasyon.

Dito base code T-SQL, na ginagamit upang makakuha ng impormasyon tungkol sa mga column na kasama sa talahanayan:

Tandaan na upang makuha ang schema para sa isang talahanayan, dapat mong piliin ang field na TABLE_SCHEMA. Ito ay maaaring magkaroon ng mga implikasyon para sa paglikha ng mga katulad na query sa hinaharap. Upang mag-eksperimento sa mga pamamaraan na inilarawan sa panayam na ito, lumikha bagong proyekto sa Visual Studio.

Gumawa ng bagong proyekto ng Visual Studio
  1. Mula sa Start menu, piliin ang All Programs, Microsoft Visual Studio 2005, Microsoft Visual Studio 2005.
  2. Mula sa Visual Studio menu, piliin ang File, New, Project.
  3. Sa panel ng Mga Uri ng Proyekto, palawakin ang Visual Basic Solutions at piliin ang template ng Application sa panel ng Mga Template. Bigyan ang proyekto ng pangalan na Chapter7 at i-click ang OK.
  4. Ang application para sa halimbawang ito ay matatagpuan sa mga halimbawang file sa \Chapter7\DynQuery folder. Maaari mong i-cut at i-paste ang code para sa mga sumusunod na pamamaraan mula sa Form1.vb file.
Pagkuha ng listahan ng mga talahanayan at view

Karaniwan, kakailanganin mong payagan ang user na piliin hindi lamang ang mga column, kundi pati na rin ang talahanayan para sa dynamic na query, kaya kailangan mong magpakita ng listahan ng mga talahanayan sa user. Maaaring makuha ang kinakailangang impormasyon gamit ang sumusunod na kahilingan:

PUMILI NG TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE MULA SA INFORMATION_SCHEMA.TABLES

Sa isang application, ang query na ito ay maaaring gamitin bilang mga sumusunod.

Pagkuha ng listahan ng mga talahanayan

Ang Visual Basic code sa itaas ay nagpapasimula ng isang SqlCommand object na pinangalanang com na may SQL string na isasagawa, at pagkatapos ay ipapatupad ang SqlCommand object. Ito ang pinakamadaling paraan upang magsagawa ng isang T-SQL na pahayag mula sa loob ng isang application.

Bilang isang ehersisyo, maaari mong ilagay ang mga diagram at talahanayan na ginawa ng pamamaraan ng Pag-load ng aming form sa user interface ng application bilang isang form upang mapili ng user ang diagram at talahanayan na gagamitin. Para sa halimbawa sa lecture na ito, ipagpalagay namin na pinili ng user ang Sales schema at ang Customer table.

Kapag nakapili na ang user ng table, ang listahan ng mga column para sa table na iyon ay maaaring makuha gamit ang parehong paraan, gamit ang user input bilang pangalan ng table sa query. Upang gawin ito, maglagay ka ng placeholder sa string ng query, at pagkatapos ay palitan ang placeholder na iyon ng isang tawag sa String.Format . Sa code sa ibaba, ang placeholder sa query string ay (0).

Pagkuha ng listahan ng mga column
  1. Idagdag ang sumusunod na pamamaraan ng RetrieveColumns sa code sa ibaba ng pamamaraan ng RetrieveTables:

    Mga Sub RetrieveColumns(ByVal TableName Bilang String) MyConnection Bilang Bagong SqlClient.SqlConnection(_ "Data Source=.\SQLExpress;" & _ "Initial Catalog=AdventureWorks;Trusted_Connection=Yes;") Dim sqlStr As String sql_BLESCHEMA , COLUMN_NAME, " + _ "ORDINAL_POSITION, DATA_TYPE " + _ "FROM INFORMATION_SCHEMA.COLUMNS " + _ "WHERE (TABLE_NAME = "(0)")" Dim tableColumns As New DataTable Dim da As New SqlClient.SqlDataAdapter(_ String.Format. (sqlStr, TableName), MyConnection) da.Fill(tableColumns) Para sa i As Integer = 0 To tableColumns.Rows.Count - 1 With tableColumns.Rows.Item(i) Console.WriteLine("(0) (1) (2 )", _ .Item(1), .Item(2), .Item(3)) End With Next End End Sub

  2. Sa Form1_Load procedure, idagdag ang sumusunod na tawag sa RetrieveColumns procedure pagkatapos ng RetrieveTables procedure: