連接到Microsoft Access數據庫和填充的DataGridView

由於在以前的職位 ,更感器和非常少的代碼,我們將看到如何在Visual Basic.NET中連接在Microsoft Access數據庫文件,然後檢索數據從一個板與他們的DataGridView填充。

首先要做的是導入兩個命名空間作為顯示如下:

進口System.Data
進口System.Data.OleDb

在這個例子中,我們將使用一個按鈕(Button1)和一個DataGridView(DataGridView1)的一種形式。 在點擊Button1的一份拷貝下面的代碼和數據庫的名稱。事件MDB和語句中的表名稱選擇 ),因此,一切正常。

昏暗的CNN(“PROVIDER = Microsoft.Jet.OLEDB.4.0;資料來源:\ myBaseAccess.mdb;用戶ID = admin,密碼=”)作為新的OleDbConnection

暗淡達新OleDbDataAdapter的(“SELECT *從產品”,CNN)
作為新的DataSet暗淡DS

 da.Fill(DS)

 DataGridView1.DataSource = ds.Tables(0)

嗯,其實沒有太大的解釋......你創建一個連接(CNN),然後一個DataAdapter(DA)作為參數的語句來檢索數據( 選擇 )和要使用的連接(CNN)。 如果你想只選擇特定的記錄,需要添加條件WHERE SELECT語句。

我們將在以下幾行留下一些簡短的定義的情況下,你需要學習更多有關不同選項創建一個連接到Microsoft Access,我離開下面的鏈接: http://www.connectionstrings.com/access

DataAdapter的

代表一個SQL命令集和數據庫連接,它們用於填充DataSet和更新數據源。
DataAdapter的服務作為DataSet和數據源的檢索和存儲數據之間的橋樑。 作為橋樑,DataAdapter的Fill方法的受讓人,修改DataSet中的數據相匹配的數據源,並指派Update方法,修改數據源中的數據,以配合那些DataSet中。

數據集

表示一組數據的內存緩存。 這是一個ADO.NET結構的基本組成部分。 DataSet中的DataTable對象的集合組成。

DataTable中

代表一個內存中的數據表。
DataTable是ADO.NET庫的核心對象。 其中使用的對象,DataSet中的DataTable和DataView的包括在內。

當訪問DataTable對象,你必須牢記,這些都是大小寫敏感的條件。 例如,如果一個DataTable被命名為“mydatatable”和其他“Mydatatable”,則用來搜尋表被認為是區分大小寫的字符串。 然而,如果有“mydatatable”,但沒有“Mydatatable的”被認為是搜索字符串不區分大小寫。 DataSet可以包含兩個DataTable對象具有相同TableName屬性值和Namespace屬性的不同值。

26“連接到Microsoft Access數據庫和填充的DataGridView”

  1. [...]寫例如連接到SQL Server和Microsoft Access連接,我意識到,即使是最常用的兩種類型數據庫[...]

  2. 烏拉圭卡拉說:

    因為真理是非常有益的。 因為我需要一個盡可能簡單的代碼,因為我遇到了麻煩,從接入到一個DataGrid和所有的代碼,我想這是唯一使我桌子對面,這麼少的代碼加載表
    用真理和祝福
    卡拉

  3. 埃德溫說:

    我擔任了很多的感謝! 看著它,即使我想知道如何按國家篩選,找到一個特定的記錄。

  4. 奧斯瓦爾多說:

    問候...... 非常好您的文章和您的網頁...我要問如何清潔DataGridView1每次你點擊一個按鈕來查詢和查看數據,但我認為修復,如果不正確,但至少我的工作。 我唯一​​沒有加入“ds.Clear()”
    所以:
    ds.Clear()
    da.Fill(DS)
    DataGridView1.DataSource = ds.Tables(0)

    現在我鍵入一個名稱,廣告牌顯示DataGrid中發現的結果只有一個TextBox ......

    • 以利沙說:

      A。 - 清潔:確定你做什麼,你也可以不DataGridView1.DataSource =沒有
      2 - 只顯示匹配的TextBox的數據的過程是相同的,唯一的變化是SELECT語句,執行搜索。 例如:“選擇員工,如姓名*'%”&TextBox1.Text&“%'”

      運氣

  5. 奧斯卡說:

    我曾與Visual Studio 6,我努力工作,與Visual Studio 2008。 我手冊上說,沒有成功,數據顯示在DataGridView表。 DataGridView中顯示,而不是數據。 在窗體的Load事件自動放置行代碼來填充數據,但顯然不起作用。 有誰知道,如果這是一個已知的問題嗎?

  6. 馬克西說:

    事實上,這完美的作品我,但我不為我工作是插入更新和刪除,甚至,與conexionstring探頭和sqlcomand ... ... 而不是做......
    任何想法?
    非常感謝。

    • 馬克西說:

      傢伙,我回答自己。
      插入:
      作為新的OleDbDataAdapter的,點心daagregar(“插入訂單(IDPLATO,數量,IDMesa,客戶編號,日期)值('”&TxtCodigo.Text&“','”&TxtCantidad.Text&“','”&TxtMesa.Text& “','0','8')”,CNX)
      daagregar.Fill(dsPedidos)

  7. 豪爾赫說:

    HOL等,我想知道像我這樣插入一個DataGridView的數據,但如果該值存在和發送的消息已經存在,因為問候

  8. 加布里埃爾說:

    感謝代碼...

    有任何方式恢復在GridView的數據,並把他們在一個PDF文件?

    來自智利的問候

  9. tttony說:

    你好,我2007年從C#與Access數據庫連接。NET在這裡的所有權利,但我有一個表,有三個領域的日期,我想給一個輸出格式,我有兩個選擇。

    1)完成後DataGridView的每個領域包含日期格式化

    2)用一個SELECT語句:

    TOP 20 *格式(buy_date],“長日期”)&“”&格式(buy_date],“短時”選擇為[buy_date]從訂單由id DESC測試)

    這種觀點的問題是它放在[buy_date從位置4] 2,我不得不寫更多的代碼,訂購,這是什麼,我不想

    問候

  10. 以利沙說:

    我得到以下錯誤
    找不到可安裝的ISAM。
    da.Fill(DS)
    我所做的一切是為什麼?

  11. pablo_la31說:

    您好! 我看到我在vb.net訪問連接,與2003年的BD從那裡把所有的3表的所有列從3表DataTable中的數據,現在我想q是一個DataGridView上顯示,但並非所有列但一些...... 我能做到嗎??

  12. 霍爾迪說:

    謝謝,一個非常簡單的解釋,非常實用,謝謝

  13. 丹尼爾說:

    優秀後,非常有益的和非常詳細的,只是不知道它是那麼容易。

    謝謝

  14. 米薩埃爾說:

    您好! 體形巨大,而且非常secilla
    一旦你填充DataSet DataGridView1我怎麼能得到一定的價值,從一個特定的細胞,即如果的價值kisiera DataGridView1上在第1行第1列的一個問題?

  15. 克勞迪奧說:

    你好;
    我使用的數據庫的Visual Basic 2008 Microsofty和捷徑......寫相同的代碼,我得到一個錯誤就行了,說:在此頁面中張貼da.Fill(DS)

    錯誤不加以控制System.Data.OleDb.OleDbException
    錯誤代碼= -2147467259
    消息=“沒有一個有效的文件名。”

    可以幫我嗎?
    謝謝......

  16. tato25說:

    您好記錄到的數據鏈路連接,並順利出院,但都需要幫助,然後我得到的​​高,這是代碼
    連接:
    Formclientes_Load私人小組(作為System.Object的,BYVAL e由於的BYVAL發件人)把手MyBase.Load
    昏暗作為OleDbConnection的連接
    連接新的OleDbConnection(“PROVIDER = Microsoft.Jet.OLEDB.4.0;數據源C:”\ proyectovb.net \ tesis.mdb)
    作為DataSet的點心dsCustomers
    作為字符串暗淡consultaclientes
    consultaclientes =“,從客戶選擇clientes.dni clientes.apellido”
    作為新OleDbDataAdapter的的DIM daclientes(consultaclientes,連接等)
    dsCustomers =新的DataSet()
    daclientes.Fill(dsCustomers,“客戶”)
    Dgvclientes.DataSource = dsclientes.Tables(“客戶”)

    添加按鈕:
    作為DataTable的點心TABLACLIENTES =新的DataTable(“客戶”)
    正如點心REGISTROCLIENTES的DataRow = TABLACLIENTES.NewRow
    REGISTROCLIENTES(“DNI”)= Me.TextBox1.Text
    REGISTROCLIENTES(“名稱”)= Me.TextBox2.Text
    TABLACLIENTES.Rows.Add(REGISTROCLIENTES)
    我使用履行作為我一個新的高度,但第一次檢查,如果記錄已經存在
    我希望從一些通過團結的響應

  17. borro說:

    大野獸!
    我已經燒起來的標籤

    我用VB6和VB到2010年的近期變化

    謝謝!

  18. jeysson說:

    在我看來,這是不是2010年的VB代碼
    PORFAVOT可以教任​​何人知道
    急需了解QUISIEA!

  19. rodhe GAV說:

    卓越的貢獻。 祝賀我倒了很多。 ,我iniciandome在VB.NET世界。 雖然我有足夠的編程,但你總是需要的例子,當你改變的編程語言。 問候

  20. 約翰說:

    我什麼也沒看到這個開放,但我想補充形式的數據,在訪問數據庫,而我不能,如果有人可以幫助將不勝感激

    問候

  21. amaliam說:

    我是非常有幫助,謝謝!

  22. 齊隆說:

    KOMO產仔卡波,看我有一個問題,我用VB編程。淨額二零零八年為相當不使用它,和良好的拾起。 我評論。

    我做了我coneccionn sentensia,數據適配器和數據集的定義,我在從一個錯誤的跳躍連接的模塊,但I N我Coneccion.open,看起來像我一樣,告訴我,如果你能幫助我..

    模塊

    進口System.Data
    進口System.Data.OleDb
    模塊Module1中
    (“PROVIDER = Microsoft.Jet.OLEDB.4.0; DataSource的C:\ Documents和Settings \用戶\我的文檔\镨Testear.mdb”的作為新的OleDbConnection公共ConecZion)
    作為新OleDbDataAdapter的,公共DataAdap(“SELECT * FROM [俱樂部XXXX的]為了由NrodeSocio”ConecZion)
    作為新的數據集公共數據集
    前端模塊

    [B]和在這裡[/ b]

    FrmFormwork_Load私人小組(作為System.Object的,BYVAL e由於的BYVAL發件人)把手MyBase.Load
    ConecZion.Open()

    DataSet.Clear()
    DataAdap.Fill(數據集,“miTestearDt”)
    Dataset.Tables(“miTestearDt”)。DefaultView.Sort =的“NrodeSocio升序”

    ConecZion.Close()
    END SUB

    ME的這個錯誤,並帶鋼

    找不到可安裝的ISAM。

    porq可以嗎? :S。

    我希望擁抱回應

  23. 馬爾科說:

    感謝幫助的問題是固定的評論者,我的變量被稱為一個記錄,那麼這將是在例如年初宣布的DataSet的一個實例:DIM紀錄=新的DataSet,瞧!

評論