LINQ , som står for Språk - Integrated Query , er en funksjon av Visual Basic språket som lar deg utføre spørringer og andre operasjoner på datakilder . En type datakilde er XML-kode , som brukerdefinerte koder kan brukes som database felt . Denne opplæringen kan brukeren gjøre et søk på en enkel XML- tabellen . Brukeren skriver inn tittelen på en film , som er formatert i en LINQ spørring . Forespørselen søker filmen med matchende tittel og returnerer regissørens navn fra matchende filmen . Sette opp prosjektet
Før skrive programmet , må du sette opp et prosjekt i Visual Basic. Velg Fil > Nytt prosjekt > Windows Forms Application. I Designer -vinduet , plasserer en tekstboks og en knapp på brukerens skjemaet. Dobbeltklikk på knappen kontroll og legge til i kroppen av button1_click hendelse : en
XLinqQuery ( TextBox1.Text )
Den uttalelsen kaller en funksjon som gjør LINQ førespurnaden når brukeren trykker knappen på skjemaet . Over button1_click funksjon, skriver funksjonen : en
Public Sub XLinqQuery ( ByVal strMovie As String )
Dim myMovies = _ < filmen year_released = " 1977 " regissør = " George Lucas " > Star Wars < /film >
Excalibur < /film >
Dim query = _from m I myMovies . _Where m.Value = strMovie _Select m
Hvert resultat I queryTextBox2.Text = resultat. @ directorNextEnd Sub
kjøre program
Kjør programmet ved å trykke " F5 ". I tekstboksen , skriv "Star Wars " og trykk på knappen . Programmet vil søke i databasen for å finne regissøren av filmen med tittelen du skrev inn. Etter å ha sett " George Lucas " vises , angir du en annen filmtittel : " Excalibur ", og trykk på knappen for å se regissøren John Boorman navn vises
Utforske Kode
Se funksjonen XlinqQuery , som gjør databasen arbeid. The mini inline database LINQ spørring kjører på er en del av XML-kode . Du kan bruke LINQ til å spørre andre typer databaser , både eksterne ( online), og de som er lagret på datamaskinen.
Faktisk LINQ
Selve LINQ spørring er som følger: .
Dim query = _from m i myMovies _Where m.Value = strMovie _Select m
Selv om typen ikke er eksplisitt gitt, " søket " etter Dim uttalelse er en variabel . Den komplette Dim spørring uttalelse ikke utfører spørringen , definerer det bare det. Uttalelsen som faktisk utfører spørringen er følgende: .
Hvert resultat I queryTextBox2.Text = resultat @ directorNext
For hver iterasjon av at loop, resultatet identifikator holder produksjonen av spørring, som er alle data i mellom XML-koder og < /film > , for en bestemt par av disse kodene. Den spesielle tilskriver vi trekke ut av resultatet variabelen er direktør attributt , men du kan også velge @ year_released .
Du kan lære om LINQ søk etter fiksing og triksing med dette programmet. Start med å endre filmen database. Legg til flere filmer og regissører - eller endre databasen helt å reflektere dine egne interesser . Legg inn egne felt - aka attributter - å erstatte regissør og year_released felt fra filmen database. I stedet for å lete etter en database oppføring ved navn (for eksempel " Star Wars ") , kan du søke etter felt /attributt. Hvis du søkte etter den year_released attributt i filmen database, Hvor klausul i søket vil se slik ut : Hvor m @ year_released = intYear . . Her forteller tegnet spørringen motor som du ønsker å matche på et XML -attributtet , i motsetning til en verdi (for eksempel " Star Wars ") .