Povezovanje z Microsoft Accessovo zbirko podatkov in izpolnite DataGridView

Tako kot v prejšnjem letu , veliko sensilla in z zelo malo kodo, bomo videli, kako se povezati v Visual Basic. mreže z datoteko zbirke podatkov v Microsoft Accessu in nato pridobivanje podatkov iz ene od plošč DataGridView napolnjena z njimi.

Prva stvar je uvoz dveh imenskih prostorov, kot kaže spodaj:

 Uvoz System.Data
 Uvoz System.Data.OleDb

Za ta primer bomo uporabili obrazec z gumbom (Button1) in DataGridView (DataGridView1). V primeru Button1 klik kopija naslednja številka in ime zbirke podatkov. Mdb in ime tabele v izjave SELECT ), tako da vse deluje v redu.

 Dim Kot Novi Dnevnik OleDbConnection ("Provider = Microsoft.Jet.OLEDB.4.0; Vir podatkov = C: \ myBaseAccess.mdb; ID uporabnika = admin, geslo =;")

 Dim Kot Novi da OleDbDataAdapter ("SELECT * FROM Products", Dnevnik)
 Dim ds As New Dataset

 da.Fill (ds)

 DataGridView1.DataSource = ds.Tables (0)

No, pravzaprav ni veliko, da pojasni ... ustvarite povezavo (CNN), potem a DataAdapter (DA), ki imajo kot parameter izjavo za pridobivanje podatkov ( SELECT ) in povezavo do uporabe (CNN). Če želite izbrati samo določene evidence morali dodati pogoj WHERE izjavo SELECT.

V naslednjih vrsticah bomo pustimo nekaj kratkih definicij v primeru, da so bile potrebne kdo od vas, in če želite izvedeti več o različnih možnostih za vzpostavitev povezave z Microsoft Access grem tudi na naslednji povezavi: http://www.connectionstrings.com/access~~HEAD=dobj

DataAdapter

Predstavlja nabor ukazov SQL in povezave z bazo podatkov, ki se uporabljajo za zapolnitev podatkovnih nizih in posodabljanje vir podatkov.
DataAdapter služi kot most med bazo podatkov in vir podatkov za pridobivanje in shranjevanje podatkov. Da deluje kot most, DataAdapter Izpolnite metode dodeljuje, spremenjeni podatki za nabor podatkov, ki se ujemajo vir podatkov, in daje Posodobi metodo, ki spreminja podatke v viru podatkov, da sovpada s tistimi v nabor podatkov.

Dataset

Predstavlja spomin predpomnilnik podatkov. To je temeljna sestavina arhitekture ADO.NET. Dataset je sestavljen iz zbirke predmetov DataTable.

DataTable

Predstavlja podatkovno tabelo v pomnilniku.
DataTable je osrednji predmet knjižnice ADO.NET. Med predmeti, ki uporabljajo DataTable in DataView Dataset vključeni.

Pri dostopu DataTable predmetov, morate imeti v mislih, da so to velike in male črke pogojno. Na primer, če ena DataTable z imenom "mydatatable" in drugi "Mydatatable", niz, ki se uporablja za iskanje eden od mize, se štejejo velike in male črke. Če pa je "mydatatable", vendar ne "Mydatatable" se šteje Iskalni niz ni velike in male črke. Dataset lahko vsebuje dve DataTable predmete, ki imajo enako vrednost TABLENAME lastnine in različne vrednosti za namespace premoženja.

26 odgovorov v "Povezovanje z Microsoft Accessovo zbirko podatkov in izpolnite DataGridView"

  1. [...] Če želite napisati primer povezavo z SQL Server in Microsoft Access Connection sem spoznal, da čeprav so to dve vrsti najbolj uporabljajo podatkovne baze, ko [...]

  2. Urugvaj carla pravi:

    ker resnica je bila zelo koristna. ker sem potreboval kodo tako enostavno, kot je mogoče, ker sem imel težave z nalaganjem tabelo iz dostopa do datagrid in vse kode Poskušal sem to bila edina stvar, ki me je pripeljala čez mizo in s tako malo kodo
    Z resnico in blagoslovov
    Carla

  3. Edwin pravi:

    Sem bil a lot hvala! gledal, čeprav sem hotel vedeti, kako filtriranje glede na državo, da bi našli določen zapis.

  4. Oswaldo pravi:

    Lep pozdrav .. zelo dobro vaš članek in vaša stran ... Hotel sem vprašati, kako očistiti DataGridView1 vsakič, ko kliknete gumb za poizvedbo in pregledovanje podatkov, ampak mislim, da popraviti, če ni prav, ampak vsaj jaz delal . Edina stvar, ki sem je bil dodati "ds.Clear ()"
    Torej:
    ds.Clear ()
    da.Fill (ds)
    DataGridView1.DataSource = ds.Tables (0)

    Zdaj, ko sem narediti učbenik, kjer vnesete ime panoja, ki prikazuje le Rezultati iskanja v DataGrid ..

    • Elizej reče:

      A. - Za čiščenje: ok, kaj storiti, bi lahko tudi ne DataGridView1.DataSource = Nič
      2 -. Prikaz le na podatke, ki se ujemajo učbenik Postopek je enak, edina stvar, ki se spreminja je izjava SELECT, ki izvaja iskanje. Na primer: "izberite * od zaposlenih WHERE Name LIKE '%" & TextBox1.Text & "%" "

      Luck

  5. Oscar pravi:

    Sem delal z Visual Studio 6 in sem poskušal sodelovati z Visual Studio 2008. Naredil sem kar ročno pravi za prikaz podatkov iz tabele v DataGridView, brez uspeha. DataGridView se prikaže, ne pa tudi podatkov. V primeru obremenitve obliki se samodejno postavi vrstic kode za zapolnijo s podatki, vendar očitno to ne deluje. Kdo ve, če je to znano problem?

  6. Maxi pravi:

    Dejstvo, da deluje odlično, ampak me je, kaj jaz ne delajo za mene je vložek posodobitev in brisanje ... celo z conexionstring sondo in sqlcomand .. in ne storiti ..
    Vse ideje?
    Najlepša hvala.

    • Maxi pravi:

      Fantje sem odgovoril.
      vstavi:
      Kot New OleDbDataAdapter Dim daagregar ("se vstavi v nalogi (IDPLATO, količino, IDMesa, CustomerID, Datum) vrednote ('" & TxtCodigo.Text & "', '" & TxtCantidad.Text & "', '" & TxtMesa.Text & "" 0 ", 8 ')", CNX)
      daagregar.Fill (dsPedidos)

  7. Jorge pravi:

    hol, kot bi želel vedeti, kot jaz, da vstavite podatke v datagridview če pa je vrednost obstaja in poslati sporočilo, ki že obstaja, ker Lep pozdrav

  8. Gabriel pravi:

    Hvaležen za kodo ...

    Ali obstaja način za povrnitev podatkov v gridview in jih v datoteke PDF?.

    Pozdrav iz Čila

  9. tttony pravi:

    Pozdravljeni, sem se povezati z Access 2007 DB iz C # NET tukaj vse v redu, vendar imam tabelo, ki ima tri polja z datumi in želim podati izhodni format in imam dve možnosti.:

    1) Po končanem DataGridView oblikovati vsako polje, ki vsebuje datum

    2) Ali ga z izjavo SELECT:

    SELECT TOP 20 *, obliko ([buy_date], "Long Datum") in "" in oblika ([buy_date] "kratek čas") AS [buy_date] od naročila s testiranjem id padajoče

    Problem s tem pogledom je, da postavi [buy_date] od 4. do 2. mestu in moram napisati več kodo, da bi, in to je tisto, kar ne želim,

    S spoštovanjem

  10. Elizej je rekel:

    Dobim naslednjo napako
    Ne najdem installable ISAM.
    da.Fill (ds)
    Nisem je vse, kot je, zakaj?

  11. Pablo_la31 pravi:

    Živjo! Vidim, da sem povezavo z BD 2003 pri dostopu VB.NET od tam pa se vse podatke iz 3 tabel v datatable z vseh stolpcih v preglednicah 3, zdaj želim q je zaslon na dataGridView vendar ne vsi stolpci ampak nekateri .. saj lahko to storim?

  12. Jordi pravi:

    Hvala, zelo preprosta razlaga in zelo praktičen, hvala

  13. Daniel pravi:

    Odlično delovno mesto, zelo koristno in zelo podrobno, samo ni vedel, je bilo tako enostavno.

    Hvala

  14. Misael pravi:

    Pozdravljeni! odlični formi in zelo secilla
    Vprašanje, ko boste izpolnili bazo podatkov DataGridView1 Kako sem lahko dobil nekaj vrednosti iz določene celice, torej, če vrednost kisiera DataGridView1 na steber 1 v vrstici 1?

  15. Claudio pravi:

    Pozdravljeni;
    Uporabljam Visual Basic 2008 Microsofty in bližnjice v zbirki podatkov .. pisati isto kodo, ki je objavljen na tej strani sem dobil napako na liniji, ki pravi: da.Fill (ds)

    napaka ni pod nadzorom System.Data.OleDb.OleDbException
    ErrorCode = -2147467259
    Sporočilo = "Ni veljavno ime datoteke."

    Bi mi pomagali?
    Hvala ...

  16. tato25 pravi:

    hi vse potrebno pomoč pri opravljanju zapis v podatkovni povezavi povezavo in poteka dobro, potem pa za visoko dobim to kodo
    povezava:
    Formclientes_Load Private Sub (ByVal pošiljatelj Kot System.Object, ByVal e As System.EventArgs) Ročaji MyBase.Load
    Dim povezave Kot OleDbConnection
    povezava = Nova OleDbConnection ("Provider = Microsoft.Jet.OLEDB.4.0; vir podatkov = C: \ proyectovb.net \ tesis.mdb")
    Kot podatkovnega niza Dim dsCustomers
    Kot String Dim consultaclientes
    consultaclientes = "select clientes.dni, clientes.apellido do kupcev"
    Kot novih OleDbDataAdapter Dim daclientes (consultaclientes, povezava)
    dsCustomers = Nova Dataset ()
    daclientes.Fill (dsCustomers "stranke")
    Dgvclientes.DataSource = dsclientes.Tables ("stranke")

    Dodajte gumb:
    Kot DataTable Dim TABLACLIENTES = New DataTable ("Stranke")
    Kot DataRow Dim REGISTROCLIENTES = TABLACLIENTES.NewRow
    REGISTROCLIENTES ("DNI") = Me.TextBox1.Text
    REGISTROCLIENTES ("ime") = Me.TextBox2.Text
    TABLACLIENTES.Rows.Add (REGISTROCLIENTES)
    Uporabljam, da bo izpolnjeval, kot naj bi novo visoko, vendar najprej preverite, če je zapis že obstaja
    Pričakujem nekaj odgovor od neke solidarnosti skozi

  17. Borro pravi:

    Big Beast!
    Imel sem že pogorel do jezičke

    Jaz sem z uporabo VB6 in VB nedavne spremembe 2010

    Hvala!

  18. Jeysson pravi:

    Zdi se mi, TO NI KODE ZA VB 2010
    PORFAVOT lahko uči kdo ve
    LEARN QUISIEA Nujno!

  19. Rodhe GAV pravi:

    Odličen prispevek. Čestitamo vlije mi veliko. Jaz iniciandome v svetu VB.NET. Čeprav sem že dovolj programiranja, ampak vedno je treba primere, tako da, ko boste spremenili programski jezik. S spoštovanjem

  20. John pravi:

    Videl sem, nič odprto o tem, ampak želim, da dodate podatke iz obrazca v zbirko podatkov pri dostopu in ne morem, če bi kdo pomagal bi bil zelo vesel

    pozdrav

  21. Amaliam pravi:

    Bil sem v veliko pomoč, hvala!

  22. Chilon pravi:

    KOMO leglo kapo, poglej Imam vprašanje, jaz sem programiranja z VB. Net 2008, za kar ga ne uporabljate, in dobro se je pobral. Sem komentiral.

    Jaz sem tudi modul, kjer moj opredelitev coneccionn sentensia in podatkov adapterjem in nabor podatkov, naredil sem povezavo v skoku s napake, vendar sem n moj Coneccion.open, izgleda kot sem in mi povej, če mi lahko pomaga ..

    MODUL

    Uvoz System.Data
    Uvoz System.Data.OleDb
    Modul Module1
    Kot New ConecZion OleDbConnection javno ("Provider = Microsoft.Jet.OLEDB.4.0; DataSource = C: \ Documents and Settings \ uporabnik \ Moji dokumenti \ Pr Testear.mdb")
    Kot New OleDbDataAdapter javno DataAdap ("SELECT * FROM [Club xxxx] Da ga NrodeSocio" ConecZion)
    Nabor podatkov Kot New Public podatkovnega niza
    Konec modul

    [B] in tukaj od [/ b]

    FrmFormwork_Load Private Sub (ByVal pošiljatelj Kot System.Object, ByVal e As System.EventArgs) Ročaji MyBase.Load
    ConecZion.Open ()

    DataSet.Clear ()
    DataAdap.Fill (Dataset, "miTestearDt")
    Dataset.Tables ("miTestearDt"). DefaultView.Sort = "NrodeSocio ASC"

    ConecZion.Close ()
    End Sub

    Ta napaka IN ME STRIP

    Ne najdem installable ISAM.

    porq lahko? : S..

    Upam, da zajema odziv

  23. Marco pravi:

    Hvala za pomoč, je določen problem pripomb se ustvarjajo primerek baze podatkov, ki je bil razglašen na začetku na primer moja spremenljivka se imenuje zapis potem bi bilo: Dim zapis = Nova Dataset () in voila!

Komentar