LINQ , som står for Language - Integrated Query, er en funktion i Visual Basic sprog, kan du udføre forespørgsler og andre operationer på datakilder. Én type datakilde er XML-kode , hvis brugerdefinerede tags kan anvendes som database felter . Denne tutorial giver brugeren mulighed for at gøre en forespørgsel om en simpel XML data tabellen. Brugeren indtaster titlen på en film, der er formateret i en LINQ forespørgsel. Forespørgslen søger film med matchende titel og returnerer instruktørens navn fra den matchende filmen. Opsætning af Project
Før skrive programmet, vil du nødt til at oprette et projekt i Visual Basic. Vælg Filer > Nyt projekt > Windows Forms Application . I Designer vinduet , placere en tekstboks og en knap på brugerens formular. Dobbeltklik på knappen kontrol og føje denne kode til kroppen af Button1_Click begivenheden : Hej
XLinqQuery ( TextBox1.Text )
Denne erklæring kalder en funktion, der gør LINQ databaseforespørgsel når brugeren trykker knappen på din formular . Over Button1_Click funktionen , skal du skrive den funktion : Hej
Public Sub XLinqQuery ( ByVal strMovie As String )
Dim myMovies = _ < filmen year_released = " 1977 " instruktøren = " George Lucas "> Star Wars
Excalibur
Dim query = _from m. I myMovies . _Where m.Value = strMovie _Select m
Hvert resultat I queryTextBox2.Text = resultat. @ directorNextEnd Sub
< br > køre programmet
Kør programmet ved at trykke på " F5 ". I tekstfeltet , indtast " Star Wars ", og tryk på knappen. Programmet vil søge i databasen for at finde direktøren for filmen , hvis titel, du har indtastet. Efter at have set "George Lucas " vises , skal du indtaste en anden film titel : " Excalibur ", og tryk på knappen for at se instruktøren John Boorman navn vises
Udforskning Code
< br . >
Se funktionen XlinqQuery , hvilket gør databasen arbejde. Mini inline database LINQ query kører på er et stykke XML-kode . Du kan bruge LINQ til at forespørge andre typer databaser , både remote ( online ), og dem der er gemt på din computer.
Actual LINQ
faktiske LINQ forespørgsel er så følger: .
Dim query = _from m. I myMovies _Where m.Value = strMovie _Select m
Selvom dens type ikke udtrykkeligt gives de " forespørgslen " efter sætningen Dim er en variabel . Den komplette Dim query erklæring ikke udføre forespørgslen , det kun definerer det. Erklæringen , der rent faktisk udfører forespørgslen er følgende: .
Hvert resultat I queryTextBox2.Text = resultat @ directorNext
For hver iteration af denne løkke , resultatet identifier holder output forespørgsel, hvilket er alle data i mellem XML-koderne og , for én bestemt par af disse tags. Den særlige tilskriver vi trækker ud af resultatet variable er direktør attribut , selvom du også kunne vælge @ year_released .
Du kan lære om LINQ forespørgsler ved at fifle med dette program. Start med at ændre filmen database. Tilføj flere film og instruktører - eller ændre databasen helt for at afspejle dine egne interesser. Tilføj dine egne marker - aka attributter - at erstatte instruktør og year_released felter fra filmen databasen. I stedet for at søge efter en database post ved sit navn (f.eks , "Star Wars " ), kan du søge ved felt /attribut. Hvis du har søgt ved year_released attribut i filmen databasen Hvor klausul i din forespørgsel vil se sådan ud : Hvor m @ year_released = intYear . . Her tegnet fortæller forespørgslen motor, du ønsker at matche på en XML-attribut , i modsætning til en værdi (fx " Star Wars ").