Slik konverterer LINQ resultater til en Datatable
Konvertering språk Integrated Query (LINQ) resultater til en Datatable kan enkelt oppnås ved å bruke et datasett og noen få andre klasser. En Datatable representerer en tabell over i-minne data som kan brukes til mange ting som fyller et Datagridview kontroll. En Datagridview kontroll viser data ved hjelp av rader og kolonner. I Visual Basic.NET, kan du søke informasjon fra en Access-database og lagre den i et datasett. Du kan søke i datasettet ved hjelp av LINQ to SQL og sløyfe gjennom resultatene for å lagre dem i en Datatable.
Bruksanvisning
1 Start Microsoft Visual Studio, klikk på "New Project" fra den venstre delen av skjermen og utvide "Visual Basic" under "Installerte maler." Klikk på "Windows" og dobbeltklikk på "Windows Forms Application" fra midten av dialogvinduet for å opprette et nytt prosjekt.
2 Dobbeltklikk på "Datagridview" for å legge til en ny kontroll i skjemaet. Dobbeltklikk på "Button" for å legge til en ny knapp i skjemaet. Dobbeltklikk på "Button1" for å lage et klikk hendelsen.
3 Legg til følgende linje med kode på toppen av modulen for å importere navnerom:
importen System.Data.OleDb
4 Legg til følgende kode inne i klikkhendelsen for å opprette en tilkobling til en Access-database og søke en tabell:
Dim connString As String = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C: \ North 2007.accdb"
Dim myConnection As OleDbConnection = New OleDbConnection
Dim ds Som datasett
Dim da Som OleDbDataAdapter
myConnection.ConnectionString = connString
da = Ny OleDbDataAdapter ( "Select * Fra Leverandører", myConnection)
ds = nytt datasett
da.Fill (ds, "Leverandør")
myConnection.Close ()
5 Kopier og lim inn følgende kode for å opprette en ny Datatable med én kolonne:
Dim table As DataTable = New DataTable("SupplierTable")
Dim kolonne Som DataColumn
Dim rad Som DataRow
kolonne = Ny DataColumn ()
column.DataType = System.Type.GetType ( "System.String")
column.ColumnName = "Company"
column.Caption = "Company"
column.ReadOnly = False
table.Columns.Add (kolonne)
6 Bruk LINQ å få SQL spørringsresultatene:
Dim supplierQuery = _
Fra cust I ds.Tables ( "Leverandør"). AsEnumerable _
Velg cust! Selskapet
7 Legg INQ til SQL-resultater til Datatable og vise resultatene gjennom Datagridview kontroll:
row = table.NewRow()
For hver cust I supplierQuery
rad ( "Selskapet") = cust
table.Rows.Add (rad)
p = table.NewRow ()
neste
Me.DataGridView1.DataSource = tabellen
8 Trykk "F5" for å kjøre programmet og klikk "Button1" for å se resultatene.