在 .NET Framework 應用程式中連線到 Access 資料庫
注意
資料集和相關類別是 2000 年代初的舊版 .NET Framework 技術,可讓應用程式在應用程式與資料庫中斷連線時使用記憶體中的資料。 這些技術特別適用於可讓使用者修改資料並將變更保存回資料庫的應用程式。 雖然已證明資料集是非常成功的技術,但建議新的 .NET 應用程式使用 Entity Framework Core。 Entity Framework 提供更自然的方式,將表格式資料作為物件模型使用,而且具有更簡單的程式設計介面。
您可以使用 Visual Studio 連線至 Access 資料庫 (.mdb
檔案或 .accdb
檔案)。 在您定義連線後,資料就會出現在 [資料來源] 視窗中。 您可以從這個視窗將資料表或檢視表拖曳至設計介面上。
注意
如果您使用 Visual Studio 連線至 Access 資料庫,您必須注意 Visual Studio 2022 之前的 Visual Studio 版本都是 32 位元處理程序。 這表示 Visual Studio 2019 和更早版本中的一些資料工具只能使用 32 位元資料提供者連線至 Access 資料庫。
如果您使用 Visual Studio 2022 連線至 Access 資料庫,您必須注意 Visual Studio 2022 現在是 64 位元處理程序。 這表示 Visual Studio 中的某些資料工具將無法使用 32 位元資料提供者連線至 Access 資料庫。
如果您需要維護連線至 Access 資料庫的 32 位元應用程式,您仍然可以使用 Visual Studio 2022 建置和執行應用程式。 不過,如果您需要使用任何 Visual Studio Data Tools,例如 [伺服器總管]、[資料來源精靈] 或 [資料集設計工具],則必須使用仍處於 32 位元處理程序的舊版 Visual Studio。 Visual Studio 的最後一個 32 位元處理序版本是 Visual Studio 2019。
如果您打算將專案轉換成 64 位元處理序,建議使用 64 位元 Microsoft Access 資料庫引擎,也稱為 Access Connectivity Engine (ACE)。 如需詳細資訊,請參閱 OLE DB Provider for Jet 和 ODBC 驅動程式僅適用於 32 位元版本。
必要條件
若要使用這些程序,您需要:
- Visual Studio
- Windows Forms 或 WPF 專案
- Access 資料庫 (
.accdb
檔案) 或 Access 2000-2003 資料庫 (.mdb
檔案)。 依照對應您的檔案類型的程序進行。
建立 .accdb 檔案的資料集
使用下列程序連線至使用 Microsoft 365、Access 2016、Access 2013、Access 2010 或 Access 2007 建立的資料庫。
在 Visual Studio 中開啟 Windows Forms 或 WPF 應用程式專案。
若要開啟 [資料來源] 視窗,請按 Ctrl+Q,接著在搜尋方塊中輸入「資料」,然後選擇 [資料來源] 視窗。 或在 [檢視] 功能表上,選取 [其他 Windows]>[資料來源]。 或者,在鍵盤上按 Shift+Alt+D。
在 [ 資料來源 ] 視窗中,按一下 [ 加入新資料來源]。
[資料來源組態精靈] 隨即開啟。
在 [選擇資料來源類型] 頁面上選取 [資料庫],然後選取 [下一步]。
在 [選擇資料庫模型] 頁面上選取 [資料集],然後選取 [下一步]。
在 [資料連線] 頁面上,選取 [新增連線],設定新的資料連線。
[新增連線] 對話方塊隨即開啟。
如果 [資料來源] 未設定為 [Microsoft Access 資料庫檔案],請選取 [變更] 按鈕。
[變更資料來源] 對話方塊隨即開啟。 在資料來源清單中,選擇 [Microsoft Access 資料庫檔案]。 已預先選取 [.NET Framework Data Provider for OLE DB] 選項。 選擇確定。
選擇 [資料庫檔案名稱] 旁的 [瀏覽],接著瀏覽至您的
.accdb
檔案,然後選擇 [開啟]。注意
如果 Microsoft Office 和 Visual Studio 的位元 (32 位元或 64 位元) 不相符,當您連線至 Access 資料庫時會看到錯誤。 在 Visual Studio 2019 中,您會收到資料庫提供者未註冊的錯誤。 在 Visual Studio 2022 中,您會看到無法連線至 32 位元資料提供者的錯誤。 若要解決此錯誤,請確定如果您使用 32 位元版本的 Office,則使用 Visual Studio 2019 或更早版本;針對 64 位元版本的 Office,您需要 Visual Studio 2022 或更新版本。
輸入使用者名稱和密碼 (如有必要),然後選擇 [確定]。
在 [選擇資料連線] 頁面上選擇 [下一步]。
您可能會看到對話框,告知資料檔案不在目前的專案中。 選取 [是] 或 [否] 。
在 [將連接字串儲存到應用程式組態檔] 頁面上,按一下 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取您想要包含在資料集中的資料表或檢視,然後選取 [完成]。
資料集會新增至專案中,而且資料表和檢視表會出現在 [資料來源] 視窗中。
在具有 64 位元 Access 資料庫引擎的 64 位元電腦上,您必須確定應用程式以 64 位元應用程式的方式執行。 開啟專案屬性 (按 Alt+Enter 或是以滑鼠右鍵按一下專案節點,然後選取[屬性])。 在 [建置]索引標籤,清除 [偏好 32 位元]核取方塊。
連接字串會儲存在 app.config中,並且在 [方案總管] 的 [屬性] 底下的 Settings.settings 檔案中。
建立 .accdb 檔案的資料集
使用下列程序連線至使用 Microsoft 365、Access 2016、Access 2013、Access 2010 或 Access 2007 建立的資料庫。
在 Visual Studio 中開啟 Windows Forms 或 WPF 應用程式專案。
若要開啟 [資料來源] 視窗,請按 Ctrl+Q,接著在搜尋方塊中輸入「資料」,然後選擇 [資料來源] 視窗。 或在 [檢視] 功能表上,選取 [其他 Windows]>[資料來源]。 或者,在鍵盤上按 Shift+Alt+D。
在 [ 資料來源 ] 視窗中,按一下 [ 加入新資料來源]。
[資料來源組態精靈] 隨即開啟。
在 [選擇資料來源類型] 頁面上選取 [資料庫],然後選取 [下一步]。
在 [選擇資料庫模型] 頁面上選取 [資料集],然後選取 [下一步]。
在 [資料連線] 頁面上,選取 [新增連線],設定新的資料連線。
[新增連線] 對話方塊隨即開啟。
如果 [資料來源] 未設定為 [Microsoft Access 資料庫檔案],請選取 [變更] 按鈕。
[變更資料來源] 對話方塊隨即開啟。 在資料來源清單中,選擇 [Microsoft Access 資料庫檔案]。 已預先選取 [.NET Framework Data Provider for OLE DB] 選項。 選擇確定。
選擇 [資料庫檔案名稱] 旁的 [瀏覽],接著瀏覽至您的
.accdb
檔案,然後選擇 [開啟]。注意
如果 Microsoft Office 和 Visual Studio 的位元 (32 位元或 64 位元) 不相符,當您連線至 Access 資料庫時會看到錯誤。 在 Visual Studio 2019 中,您會收到資料庫提供者未註冊的錯誤。 在 Visual Studio 2022 中,您會看到無法連線至 32 位元資料提供者的錯誤。 若要解決此錯誤,請確定如果您使用 32 位元版本的 Office,則使用 Visual Studio 2019 或更早版本;針對 64 位元版本的 Office,您需要 Visual Studio 2022 或更新版本。
輸入使用者名稱和密碼 (如有必要),然後選擇 [確定]。
在 [選擇資料連線] 頁面上選擇 [下一步]。
您可能會看到對話框,告知資料檔案不在目前的專案中。 選取 [是] 或 [否] 。
在 [將連接字串儲存到應用程式組態檔] 頁面上,按一下 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取您想要包含在資料集中的資料表或檢視,然後選取 [完成]。
資料集會新增至專案中,而且資料表和檢視表會出現在 [資料來源] 視窗中。
建立 .mdb 檔案的資料集
使用下列程序連線至使用 Access 2000-2003 建立的資料庫。
在 Visual Studio 中開啟 Windows Forms 或 WPF 應用程式專案。
在 [檢視] 功能表上,選取 [其他 Windows]>[資料來源]。
在 [ 資料來源 ] 視窗中,按一下 [ 加入新資料來源]。
[資料來源組態精靈] 隨即開啟。
在 [選擇資料來源類型] 頁面上選取 [資料庫],然後選取 [下一步]。
在 [選擇資料庫模型] 頁面上選取 [資料集],然後選取 [下一步]。
在 [資料連線] 頁面上,選取 [新增連線],設定新的資料連線。
如果 [資料來源] 不是 [Microsoft Access 資料庫檔案 (OLE DB)],請選取 [變更] 開啟 [變更資料來源] 對話方塊,並且選取 [Microsoft Access 資料庫檔案],然後選取 [確定]。
在 [資料庫檔案名稱] 中,指定您要連線之
.mdb
檔案的路徑和名稱,然後選取 [確定]。在 [選擇資料連線] 頁面上選擇 [下一步]。
在 [將連接字串儲存到應用程式組態檔] 頁面上,按一下 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取資料集中您想要的任何資料表或檢視,然後選取 [完成]。
資料集會新增至專案中,而且資料表和檢視表會出現在 [資料來源] 視窗中。
檢視已產生的程式碼
在表單設計師執行特定作業時,資料工具會設定為自動產生許多程式碼。 例如,將資料表拖放到表單時,隨即會新增 DataGridView
,並且建立程式碼,將資料與控制項連結。 您可以在 *.Designer.cs
檔案檢視此程式碼。 產生的程式代碼可能會根據您的 Visual Studio 版本而有所不同。
恭喜! 透過 Visual Studio 的若干協助,您已為 Access 資料表建立表單型編輯體驗。
下一步
如此剛才建立的資料集便可以在 [資料來源] 視窗中使用。 現在您可以執行下列任一項工作:
在 [資料來源] 視窗中選取專案,並將其拖曳到表單或設計介面上 (請參閱將 Windows Forms 控制項繫結至 Visual Studio 中的資料 或 WPF 資料繫結概觀)。
在 資料集設計工具中開啟資料來源,以新增或編輯組成資料集的物件。
將驗證邏輯加入資料集內資料表的 ColumnChanging 或 RowChanging 事件中 (請參閱驗證資料集中的資料)。