Anslut till SQL Server-databas och Fyll DataGridView

Vid den här tiden kommer vi att se mycket sensilla och med mycket lite kod, kan vi konstatera i Visual Basic. NET anslutning till en SQL-server, i mitt fall SQL Server Express 2005, sedan återskapa data från en bord för att fylla en DataGridView med dem.

Det första du bör göra är att importera två namnrymderna enligt nedan visar:

 Import System.Data
 Import System.Data.SqlClient

För detta exempel använder vi en form med en knapp (Button1) och en DataGridView (DataGridView1). I Click-händelse av button1 en kopia följande kod och ändra vissa parametrar (namn eller IP på servern, namnet på databasen och tabellen namn i uttalandet SELECT ) så att allt fungerar bra.

 Dim cnn som ny SqlConnection ("Data Source = MyServidor; Initial Catalog = MyDatabase; Integrated Security = SSPI;")

 Dim da As New SqlDataAdapter ("SELECT * FROM produkter", CNN)
 Dim ds As New DataSet

 da.Fill (ds)

 DataGridView1.DataSource = ds.Tables (0)

Tja, faktiskt inte mycket att förklara ... du skapar en anslutning (CNN), sedan en DataAdapter (da) som har som parameter uttalandet att hämta data ( VÄLJ ) och anslutning för att använda (CNN). Om du vill välja bara vissa poster behöver lägga till ett villkor WHERE i SELECT-uttrycket.

I följande rader lämnar vi några korta definitioner i fall någon av er behövdes och att lära sig mer om de olika alternativen för att skapa en SQL Server 2005-anslutning jag lämnar även följande länk: http://www.connectionstrings.com/sql -server-2005 .

DataAdapter

Representerar en uppsättning av SQL-kommandon och en databas anslutning som används för att fylla DataSet och uppdatera datakällan.
DataAdapter fungerar som en bro mellan DataSet och en datakälla för att hämta och lagra data. Att agera som en bro, DataAdapter Fyll metod tilldelar, ändra data från DataSet för att matcha datakällan och tilldelar Update-metoden, som ändrar data i datakällan sammanfaller med de DataSet.

DataSet

Representerar ett minne cache av data. Det är en grundläggande komponent i ADO.NET arkitektur. DataSet består av en samling av DataTable föremål.

DataTable

Representerar en datatabell i minnet.
DataTable är en centralt ändamål med ADO.NET biblioteket. Bland de objekt som använder DataTable och DataView DataSet ingår.

När du går DataTable objekt måste du tänka på att dessa är skiftlägeskänsliga villkorligt. Till exempel om man DataTable heter "mydatatable" och andra "Mydatatable", den sträng som används för att söka ett av borden betraktas skiftlägeskänsligt. Men om det är "mydatatable" men ingen "Mydatatable" anses vara den söksträngen är inte skiftlägeskänsligt. En DataSet kan innehålla två DataTable objekt som har samma värde TableName egendom och olika värden för Namnrymd fastigheten. <

38 Responses to "Anslut till SQL Server-databas och Fill DataGridView"

  1. [...] I föregående inlägg, mycket sensilla och med mycket lite kod, kommer vi att se hur du ansluter med [...]

    • Vaneagas Harvy säger:

      Hej, för publikationen Jag var faktiskt till stor hjälp för att uppnå anslutningen utan ytterligare fel Tack så hemskt mycket och jag hoppas en dag att återgälda tjänsten snart

  2. [...] För att skriva exempel att ansluta till SQL Server och Microsoft Access Connection insåg jag att även om dessa är de två typer av [...]

  3. [...] Visa hur vi kan filtrera poster i ett DataGridView. Detta exempel bygger på denna tidigare, men skillnaden är att istället för att passera som DataGridView datakälla till en tabell, du [...]

  4. Polledo Armando säger:

    Hej, jag har en preguta ser jag metoden för att ladda data i DataGridView är efecivos, vad använder tjänar uppdatera eller uppdatering som satte esu inte uppdatera data eller helt enkelt fräschar upp och gör ingenting för att prova flera olika sätt att tillämpa, men inte att tjäna. Min specifika fråga är för servering uppdateringen

    • Elisha säger:

      Vad jag gör rätt ejemple läser data från en SQL-fråga, och de fyller en DataGridView. Men om jag ändrar något av denna information, gör jag bara i minnet. Dessa förändringar kommer aldrig till databasen. För dem Updatey behöver använda för att använda den skulle behöva för att skapa uppdateringsmetod av SqlDataAdapter med CommandBuilder. Jag ska skriva några exempel.

  5. Requejo Marco säger:

    Jag jobbar på ett transportsystem, och filtrera information nesecito förare i en data rutnät som genom att skriva i en textruta ett namn och på samma gång det här filtret och visas på data nätet. Exempel. När du börjar skriva i textrutan ordet Roger visas i DataGrid alla namn med R.

  6. Carlos Cardozo säger:

    Boss.

    en fråga som anges säga användaren och lösenord? porq därigenom ansluter till SQL som gäst.

    Hälsningar. -

  7. Detta väl säger:

    Hur visar jag mig att om ett program är i själva verket UNN databas, om en PERSONASTA Exempel MED endast placeras DITT SCHEMA NUMBER

    • AlbertoJ säger:

      Hej,
      Du kan sätta en textruta där du ska fylla i antalet identitetskort
      och frågan:

      ("SELECT * FROM Anställda WHERE cedula = '" + Me.txtcedula.Text + "'", CNN)
      Jag har hoppas att någon här VB.net inga misstag i syntaxen.
      txtcedula skulle vara namnet på din textrutan
      En hälsning.

  8. Detta väl säger:

    Jag är ny på detta

  9. David Marin sade:

    Hej synd om stör, men jag har ett tvivel, och jag hoppas att någon svarar att det är ganska brådskande, Habra som ett sätt att fylla en ny tabell med data jag har en DataGridView det är min DataGridView fylld med bord "x" och sedan fylla den med tabellen "x" sådana uppgifter på min DataGridView tabellen "x" jag går den till en ny tabell "och". Kan du????? hjälp.

  10. Erwin säger:

    Mycket bra poäng

  11. Paulus säger:

    Jag har följande problem, om jag använder datakälla egendom nätet, att jag laddar datasetet med data som kommer från databasen som exemplet ovan, vad jag vill nu är att ändra DataGrid kolumner som bredd och grejer, så jag gjorde var lägga till kolumner DataGrid, men nu när jag kompilera och köra programmet och använda de DataGrid kolumnerna som jag lagt finns där, men tom!
    och bortsett från dessa kolumner, som jag lagt beror på datamängden, nu vill jag göra är q q Jag har lagt kolumner tomma med uppgifterna från de kolumner som jag lagt genom dessa kolonner datakälla och gå ... men hur?

    • Elisha säger:

      Det är ett ganska vanligt problem, men aldrig förklarar hur man fixar det. Sanningen är att förtjänar en full post för att visa hur det fungerar, men som du förklara kortfattat vad du gör:
      A. - Skapa ett objekt med alla fält i tabellen
      2 -. Lägg till en ny datakälla med föregående objekt
      3 -. I DataGridView välja datakälla som datakälla. Detta Queara ett föremål databinding
      4 -. Redigera kolumner i DataGridView att dölja, visa och formatera kolumner som du vill
      5 -. Från koden fyller datakälla objektet databinding

      Jag hoppas inte komplicera för mycket med detta. Luck.

  12. gina säger:

    Öppet sätt att få information från en databas medan du visar det som en biljett.??

    Jag börjar på detta, men jag tycker

  13. Jose Cruz säger:

    Tack för ditt auyda tjänat mig väl.
    Jag hoppas det compartinedo följa din kunskap till andra puedamos toarlos.

  14. legna säger:

    Hej Jag kan skapa ett barn formulär i Visual Basic, till exempel jag trycker på en knapp och visa mig en annan form

  15. Massey säger:

    Disculpaa ..

    Lägg till, ändra och ta bort poster från samma DataGridView

    Med dataset, så att när du lägger ändra eller ta bort även bort från db.

    Gracas av antemanoo mera

  16. Ricardo säger:

    Förlåt Jag använder Visual 2008, anslutningssträngen jag gör det med adodb, som importerade biblioteket "Importerar adodb" anslutningen är bra, men när jag fyller en DataGridView fungerar inte om det inte kommer att innehålla andra saker, AYUDAAAA gärna!

  17. Cristian säger:

    Jag arbetar med VB 2010, och när jag vill visa DataGridView med frågan exemplet. "VÄLJ kolumn1 som" namn1, kolumn2 som "namn2 'från tabellen"
    den datagridview.datasource = dataset.table (0)
    att DataGridView inte visar valet och visar mig bordet råa ben, är det hela bordet utan alias, som jag råkar visa.
    Hur lösa detta problem

  18. VJUNIOR säger:

    VÄN Tack vare dessa steg kan LÄRA ... ingenting var verkligen GJORDE inte noll ... TACK ........

  19. Imelda säger:

    hey tack!

  20. Luis säger:

    Great post, bra du gör. Hålla den igång! .... Ja, nu frågan.
    Jag har en DataGridView heter dgv_Aclaraciones, och jag har 3 kolumner som standard (det första är av typen kryssruta, den andra en textruta och den tredje typen är typ knappen), liksom, å andra sidan i min databas har jag en tabell " Förtydliganden "med 2 fält, av vilka endast en är intresserade mig, eftersom det är vad jag visar i DataGridView.

    Jag försökte göra med datakälla, men vad det gör är att lägga fler kolumner i DataGridView. Det vore bra om du har svaret, men jag kommer att fortsätta att undersöka, tack.

    Utmärkt inlägg! (Igen!! ... XD)

  21. Alexander Hernandez säger:

    god
    skulle någon berätta för vänligt mig hur återhämta sig från en sql db två områden som namn och andra namn, texboxt som en fråga.
    VB10 användning är angeläget tackar för ditt samarbete

  22. Bugbear sade:

    Hej, tack för din webbplats, har jag en fråga om det finns två tabeller som jag vill kombinera en DataGrid octener jag har en fråga, men inte visa mig de uppgifter jag kan göra. Tack

  23. cherry32 sade:

    Hallå
    Jag följde exemplet. Det fyller dataridview, säger "inte kontrolleras System.IndexOutOfRangeException
    Meddelande = Kan inte hitta tabellen 0. "
    Vad kan hända? Min datasetet är tom?

    • Elisha säger:

      problemet kan vara att, din daaset innehåller inga bord ...
      Dubbelkolla koden och kontrollera att du inte blandar ihop de rörliga DataAdapter (da) med DataSet (DS) eller någon annan stavfel.
      Genom att åberopa DataAdapter fyllning metoden fyller DataSet ds med resultatet bord SQL-fråga.
      Det är verkligen väldigt lite kod och mycket lätt att förstå. Kolla detta och få det att fungera om du inte kan spärra alla och börja om igen. Visst det fungerar. ;)

  24. omar_judai säger:

    Hej hur är!
    Anledningen till mitt besök är att se om jag kan hjälpa
    q är anledningen till att jag gjorde som ett program i VB 2010 och SQL Server 2008
    allt var bra tills jag ville testa min ansökan på en annan dator och jag fick fel när vi vill spara data, kom jag

    Kan inte öppna den fysiska filen "C: \ Users \ Omar \ Documents \ Visual Studio 2010 \ Projects \ Project Kostnad \ Project Kostnad \ bin \ Debug \ Database1.mdf". Operativsystem error 32: "32 (inte hämta text för detta fel Anledning:. 15.105)".
    Kan inte öppna den fysiska filen "C: \ Users \ Omar \ Documents \ Visual Studio 2010 \ Projects \ Project Kostnad \ Project Kostnad \ bin \ Debug \ Database1_log.ldf". Operativsystem error 32: "32 (inte hämta text för detta fel Anledning:. 15.105)".
    Kan inte öppna databasen 'Database1 ", eftersom du inte kan komma åt filer eller minne eller diskutrymme är otillräcklig. Se fellogg av SQL Server. (Microsoft SQL Server, Fel: 5120)

    sanningen kom ut detta fel beror på att
    kommer att vara namnet på den användare PC eller
    Om mepudieran hjälp skulle vara mycket tacksamma

  25. Lugrarz säger:

    Q något bara lägga till, om du ändrar det visuella System.Data.OleDb System.Data.SqlClient en t möjligt att göra samma sak med en ole-anslutning (som tillgång)

  26. Peter säger:

    Hej mycket bra bidrag! Jag har en fråga som som bara lägger jag mitt användarnamn och lösenord i ett login blankett aparescan mig i min datagri q är i en annan form??
    Tack så mycket i förväg!

  27. Luis Glez säger:

    Mycket bra förklarat, men kan jag använda den här anslutningen och datakällan, och vill skapa ett installationsprogram för min ansökan på andra datorer i samma nätverk?

  28. CARLOS Estrada säger:

    Hej Jag undrar om någon kan hjälpa mig, jag har ett program som i Visual Basic 2010 som ansluter till en server och jag jämförde överföring av varor från två grenar och berättar att jag har skillnaderna mellan dem i ett DataGridView till chefen kan granska snabbare förekomst som felet, fungerar bra på de viktigaste grenen eftersom informationen är centraliserad, är problemet när jag gör det i en annan butik för att min program som jag vill ansluta två lokala servrar och server varifrån informationen, hur gör jag ansluter till båda servrarna kör frågan och visa mig skillnaderna i DataGridView. Frågan är Select cod_articulo, beskrivning, transferencia1, transferencia2 från (välj cod_articulo, summa (n_cantidad) som deposition transferencia1 WHERE = 'uni03dpgp' och c_concepto = 'arbete "union utvald grupp av cod_articulo cod_articulo, summa (n_cantidad) som transferencia2 VAR deposition = "uni01" och c_concepto = 'arbete "grupp genom cod_articulo) från tr_inventario grupp genom cod_articulo, beskrivning. Något inte här men jag har mer eller mindre är så vad jag gör är söker på samma server både överföring källan och målet grupperade streckkoder och sedan genom stora mängder union och ger mig resultatet men det bör göras för att jämföra två servrar. Jag uppskattar att jag kan hjälpa.

  29. Mary säger:

    Jag behöver exportera ett fält i en tabell till en textruta, har jag sett flera svar men alla despleigan i DataGridView och jag måste visa i en textruta. TACK FÖR HJÄLPEN.

  30. Mary säger:

    Hej jag behöver veta hur man fråga från Visual värdet av ett fält i en SQL-tabell och ta med den till Visual tilldela en variabel, steg och åter spara databasen i SQL. Någon kan hjälpa mig? Europaparlamentet uppmanar mig att fortsätta med ett projekt. Tack!

Kommentar