none
VB2008操作access数据的方法详解 RRS feed

  • 问题

  • 求VB2008操作access数据的详细方法,如连接,读取,保存,搜索,排序等等,谢谢。烦劳提供点详细的教程。
    2010年9月17日 8:30

答案

  • 你好

    之前有朋友問過差不多的問題, 如果有問題的話歡迎發問..或者如果有時間的話我可以嘗試寫一些關於VB.Net 操作access教學一起研究研究

    或者你可以參考以下URL

    http://social.msdn.microsoft.com/Forums/zh-CN/vbasiczhchs/thread/e3e815d3-e5ac-4b63-963e-d15d3af12089/

    E.G.

    我寫了小小SAMPLE CODE 希望可以幫到你

    我建立了一個SAMPLE ACCESS DATABASE 叫 Sample.mdb 存在F:\Learning\Sample.mdb

    首先你要建立一個CONNECTION STRING 來連接ACCESS DATABASE
    Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Learning\Sample.mdb;")
    '你可能要改變小小 [如果你有USERNAME PASSWORD 的話]
    'E.G. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;

    之後你便可以用OLEDB OBJECT 來 入access2003的数据库 然后用datagridview来显示。该如何写添加和删除的代码 了
    以下有三個 SAMPLE 功能

    '你可以用這個功能來取DATA

     Public Sub retreivedata()
            Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Learning\Sample.mdb;")

            Dim objComm As New OleDbCommand()
            objComm.CommandText = "SELECT * FROM tbl1" ' 這是一個QUERY STRING 來選取資料的
            objComm.Connection = objCon
            Dim adapter As New OleDbDataAdapter(objComm) '選取資料後可以用OleDbDataAdapter 把資料存到DATATABLE 裡
            Dim tbl As New DataTable ' 用來存資料, 等一會可以顯示到DATAGRIDVIEW中

            Try
                objCon.Open() ' 開啟 ACCESS CONNECTION
                adapter.Fill(tbl) ' 把資料存到DATATABLE 裡
                dgv_Example.DataSource = tbl '之後 ASSIGN DATAGRIDVIEW 的DATA SOURCE E.G. 用剛剛取來的DATA TABLE


            Catch ex As Exception
                MsgBox(ex.Message) '有問題ERROR 時 POP UP ERROR MESSAGE BOX
            Finally
                adapter = Nothing '清理 data adapter object
                objComm = Nothing 清理 command object
                objCon.Close()  '關掉連線
    objCon = nothing '清理 connection object
            End Try

        End Sub


    '你可以用這個功能來 加資料入ACCESS DATABASE, 大概和 取DATA 差不多, 但這個不用DATA ADAPTER
        Public Sub AddRecord()
            Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Learning\Sample.mdb;")

            Dim objComm As New OleDbCommand()
            objComm.CommandText = "INSERT INTO tbl1 (Field1, Field2) VALUES ('1', '2')" ' 用 QUERY 來 加入資料 這次加入了 FIELD1 = 1 和 FIELD2 =2
            objComm.Connection = objCon


            Try
                objCon.Open()
                objComm.ExecuteNonQuery() '這次用 ExecuteNonQuery() 來執行這個QUERY 得動作



            Catch ex As Exception
                MsgBox(ex.Message)
            Finally

                objComm = Nothing
           
                objCon.Close()
            objCon = nothing
            End Try

        End Sub

    '和ADD 差不多, 所以不加以解釋了
        Public Sub DeleteRecord()
            Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Learning\Sample.mdb;")

            Dim objComm As New OleDbCommand()
            objComm.CommandText = "DELETE FROM tbl1 WHERE Field1 = '1'" ' 這個EXAMPLE 是用來DELETE 所有 FIELD1 = 1 的 資料
            objComm.Connection = objCon


            Try
                objCon.Open()
                objComm.ExecuteNonQuery()

            Catch ex As Exception
                MsgBox(ex.Message)
            Finally

                objComm = Nothing
                objCon.Close()
            objCon = nothing
            End Try

        End Sub

    希望可以解決到這個問題

     


    如果想了解更多關於OLEDB 的用法可以參考以下URL
    OleDBConnection Class
    http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbconnection%28VS.71%29.aspx
    OleDBCommand Class
    http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbcommand%28v=VS.71%29.aspx
    OleDataAdapter Class
    http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbdataadapter%28v=VS.71%29.aspx
    OleDbDataReader Class
    http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbdatareader%28v=VS.71%29.aspx

    Please correct me if my concept is wrong.


    Chi
    • 已标记为答案 pucx 2010年9月19日 9:55
    2010年9月17日 10:48
    版主