Udostępnij za pośrednictwem


Nawiązywanie połączenia z bazą danych programu Access w aplikacjach .NET Framework

Uwaga

Zestawy danych i powiązane klasy to starsze technologie .NET Framework z początku 2000 roku, które umożliwiają aplikacjom pracę z danymi w pamięci, gdy aplikacje są odłączone od bazy danych. Technologie te są szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian z powrotem w bazie danych. Mimo że zestawy danych okazały się bardzo udaną technologią, zalecamy, aby nowe aplikacje platformy .NET używały platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma prostszy interfejs programowania.

Możesz nawiązać połączenie z bazą danych programu Access (plikiem .mdb lub plikiem .accdb ) przy użyciu programu Visual Studio. Po zdefiniowaniu połączenia dane są wyświetlane w oknie Źródła danych. Z tego miejsca można przeciągać tabele lub widoki na powierzchnię projektową.

Uwaga

Jeśli używasz programu Visual Studio do nawiązywania połączenia z bazami danych programu Access, musisz pamiętać, że wersje programu Visual Studio przed programem Visual Studio 2022 są wszystkimi procesami 32-bitowymi. Oznacza to, że niektóre narzędzia danych w programie Visual Studio 2019 i starszych wersjach będą mogły łączyć się tylko z bazami danych programu Access przy użyciu 32-bitowych dostawców danych.

Jeśli używasz programu Visual Studio 2022 do łączenia się z bazami danych programu Access, musisz pamiętać, że program Visual Studio 2022 jest teraz procesem 64-bitowym. Oznacza to, że niektóre narzędzia danych w programie Visual Studio nie będą mogły łączyć się z bazami danych programu Access przy użyciu 32-bitowych dostawców danych.

Jeśli musisz obsługiwać 32-bitowe aplikacje łączące się z bazami danych programu Access, nadal będzie można skompilować i uruchomić aplikację za pomocą programu Visual Studio 2022. Jeśli jednak musisz użyć dowolnego narzędzia Visual Studio Data Tools, takiego jak Eksplorator serwera, Kreator źródła danych lub Projektant zestawu danych, musisz użyć starszej wersji programu Visual Studio, która jest nadal procesem 32-bitowym. Ostatnia wersja programu Visual Studio, która była procesem 32-bitowym, to Visual Studio 2019.

Jeśli planujesz przekonwertowanie projektu na 64-bitowy proces, zaleca się użycie 64-bitowego aparatu bazy danych programu Microsoft Access, nazywanego również aparatem łączności programu Access (ACE). Aby uzyskać więcej informacji, zobacz Dostawca OLE DB dla sterownika Jet i ODBC to tylko wersje 32-bitowe.

Wymagania wstępne

Aby użyć tych procedur, potrzebne są następujące elementy:

  • Program Visual Studio
  • Projekt Windows Forms lub WPF
  • Baza danych programu Access (.accdb plik) lub baza danych programu Access 2000-2003 (.mdb plik). Wykonaj procedurę, która odnosi się do typu Twojego pliku.

Tworzenie zestawu danych dla pliku accdb

Nawiąż połączenie z bazami danych utworzonymi za pomocą platformy Microsoft 365, programu Access 2016, programu Access 2013, programu Access 2010 lub programu Access 2007, korzystając z poniższej procedury.

  1. Otwórz projekt aplikacji Windows Forms lub WPF w programie Visual Studio.

  2. Aby otworzyć okno Źródła danych, naciśnij Ctrl+Q, wprowadź ciąg "data" w polu wyszukiwania i wybierz okno Źródła danych. Lub w menu Widok wybierz pozycję Inne źródła danych systemu Windows>. Lub na klawiaturze naciśnij Shift+Alt+D.

    Zrzut ekranu przedstawiający źródła danych w polu wyszukiwania

  3. W oknie Źródła danych kliknij pozycję Dodaj nowe źródło danych.

    Zostanie otwarty Kreator konfiguracji źródła danych.

    Zrzut ekranu przedstawiający Kreatora konfiguracji źródła danych

  4. Wybierz pozycję Baza danych na stronie Wybierz typ źródła danych, a następnie wybierz pozycję Dalej.

  5. Wybierz pozycję Zestaw danych na stronie Wybierz model bazy danych, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający stronę Wybieranie modelu bazy danych

  6. Na stronie Wybieranie połączenia danych wybierz pozycję Nowe połączenie , aby skonfigurować nowe połączenie danych.

    Zrzut ekranu przedstawiający stronę Wybieranie połączenia danych

    Zostanie otwarte okno dialogowe Dodawanie połączenia .

    Zrzut ekranu przedstawiający okno dialogowe Dodawanie połączenia

  7. Jeśli źródło danych nie jest ustawione na plik bazy danych programu Microsoft Access, wybierz przycisk Zmień .

    Zostanie otwarte okno dialogowe Zmienianie źródła danych. Na liście źródeł danych wybierz pozycję Plik bazy danych programu Microsoft Access. Opcja .NET Framework Dostawca danych dla OLE DB jest już wstępnie wybrana. Wybierz pozycję OK.

    Zrzut ekranu przedstawiający okno dialogowe Wybieranie źródła danych

  8. Wybierz pozycję Przeglądaj obok pozycji Nazwa pliku bazy danych, a następnie przejdź do .accdb pliku i wybierz pozycję Otwórz.

    Uwaga

    Jeśli bitowość (32-bitowa lub 64-bitowa) pakietu Microsoft Office i programu Visual Studio nie jest zgodna, podczas nawiązywania połączenia z bazą danych programu Access zostanie wyświetlony błąd. W programie Visual Studio 2019 zostanie wyświetlony błąd, że dostawca bazy danych nie jest zarejestrowany. W programie Visual Studio 2022 zostanie wyświetlony błąd, który nie może nawiązać połączenia z 32-bitowym dostawcą danych. Aby rozwiązać ten błąd, upewnij się, że jeśli używasz 32-bitowej wersji pakietu Office, używasz programu Visual Studio 2019 lub starszego; w przypadku 64-bitowej wersji pakietu Office potrzebny jest program Visual Studio 2022 lub nowszy.

  9. Wprowadź nazwę użytkownika i hasło (w razie potrzeby), a następnie wybierz przycisk OK.

  10. Wybierz pozycję Dalej na stronie Wybierz połączenie danych.

    Może zostać wyświetlone okno dialogowe z informacją, że plik danych nie znajduje się w bieżącym projekcie. Wybierz Tak lub Nie.

  11. Wybierz pozycję Dalej na stronie Zapisz parametry połączenia na stronie Plik konfiguracji aplikacji.

    Zrzut ekranu przedstawiający stronę

  12. Rozwiń węzeł Tabele na stronie Wybieranie obiektów bazy danych.

    Zrzut ekranu przedstawiający stronę Wybieranie obiektów bazy danych

  13. Wybierz tabele lub widoki, które chcesz uwzględnić w zestawie danych, a następnie wybierz pozycję Zakończ.

    Zestaw danych jest dodawany do projektu, a tabele i widoki są wyświetlane w oknie Źródła danych.

    Zrzut ekranu przedstawiający okno Źródła danych wypełnione obiektami bazy danych

  14. Na 64-bitowych maszynach z 64-bitowym aparatem bazy danych programu Access należy upewnić się, że aplikacja działa jako aplikacja 64-bitowa. Otwórz właściwości projektu (naciśnij Alt+Enter lub kliknij prawym przyciskiem myszy węzeł projektu, a następnie wybierz polecenie Właściwości). Na karcie Kompilacja wyczyść pole wyboru Preferuj 32-bitowe.

Tworzenie zestawu danych dla pliku accdb

Nawiąż połączenie z bazami danych utworzonymi za pomocą platformy Microsoft 365, programu Access 2016, programu Access 2013, programu Access 2010 lub programu Access 2007, korzystając z poniższej procedury.

  1. Otwórz projekt aplikacji Windows Forms lub WPF w programie Visual Studio.

  2. Aby otworzyć okno Źródła danych, naciśnij Ctrl+Q, wprowadź ciąg "data" w polu wyszukiwania i wybierz okno Źródła danych. Lub w menu Widok wybierz pozycję Inne źródła danych systemu Windows>. Lub na klawiaturze naciśnij Shift+Alt+D.

    Wyświetlanie innych źródeł danych systemu Windows

  3. W oknie Źródła danych kliknij pozycję Dodaj nowe źródło danych.

    Zostanie otwarty Kreator konfiguracji źródła danych.

  4. Wybierz pozycję Baza danych na stronie Wybierz typ źródła danych, a następnie wybierz pozycję Dalej.

  5. Wybierz pozycję Zestaw danych na stronie Wybierz model bazy danych, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający stronę Wybieranie modelu bazy danych

  6. Na stronie Wybieranie połączenia danych wybierz pozycję Nowe połączenie , aby skonfigurować nowe połączenie danych.

    Zrzut ekranu przedstawiający stronę Wybieranie połączenia danych

    Zostanie otwarte okno dialogowe Dodawanie połączenia .

    Zrzut ekranu przedstawiający okno dialogowe Dodawanie połączenia

  7. Jeśli źródło danych nie jest ustawione na plik bazy danych programu Microsoft Access, wybierz przycisk Zmień .

    Zostanie otwarte okno dialogowe Zmienianie źródła danych. Na liście źródeł danych wybierz pozycję Plik bazy danych programu Microsoft Access. Opcja .NET Framework Dostawca danych dla OLE DB jest już wstępnie wybrana. Wybierz pozycję OK.

    Zrzut ekranu przedstawiający okno dialogowe Wybieranie źródła danych

  8. Wybierz pozycję Przeglądaj obok pozycji Nazwa pliku bazy danych, a następnie przejdź do .accdb pliku i wybierz pozycję Otwórz.

    Uwaga

    Jeśli bitowość (32-bitowa lub 64-bitowa) pakietu Microsoft Office i programu Visual Studio nie jest zgodna, podczas nawiązywania połączenia z bazą danych programu Access zostanie wyświetlony błąd. W programie Visual Studio 2019 zostanie wyświetlony błąd, że dostawca bazy danych nie jest zarejestrowany. W programie Visual Studio 2022 zostanie wyświetlony błąd, który nie może nawiązać połączenia z 32-bitowym dostawcą danych. Aby rozwiązać ten błąd, upewnij się, że jeśli używasz 32-bitowej wersji pakietu Office, używasz programu Visual Studio 2019 lub starszego; w przypadku 64-bitowej wersji pakietu Office potrzebny jest program Visual Studio 2022 lub nowszy.

  9. Wprowadź nazwę użytkownika i hasło (w razie potrzeby), a następnie wybierz przycisk OK.

  10. Wybierz pozycję Dalej na stronie Wybierz połączenie danych.

    Może zostać wyświetlone okno dialogowe z informacją, że plik danych nie znajduje się w bieżącym projekcie. Wybierz Tak lub Nie.

  11. Wybierz pozycję Dalej na stronie Zapisz parametry połączenia na stronie Plik konfiguracji aplikacji.

    Zrzut ekranu przedstawiający stronę

  12. Rozwiń węzeł Tabele na stronie Wybieranie obiektów bazy danych.

  13. Wybierz tabele lub widoki, które chcesz uwzględnić w zestawie danych, a następnie wybierz pozycję Zakończ.

    Zestaw danych jest dodawany do projektu, a tabele i widoki są wyświetlane w oknie Źródła danych.

Tworzenie zestawu danych dla pliku .mdb

Połącz się z bazami danych utworzonymi za pomocą programu Access 2000-2003, korzystając z poniższej procedury.

  1. Otwórz projekt aplikacji Windows Forms lub WPF w programie Visual Studio.

  2. W menu Widok wybierz pozycję Inne źródła danych systemu Windows>.

  3. W oknie Źródła danych kliknij pozycję Dodaj nowe źródło danych.

    Zostanie otwarty Kreator konfiguracji źródła danych.

  4. Wybierz pozycję Baza danych na stronie Wybierz typ źródła danych, a następnie wybierz pozycję Dalej.

  5. Wybierz pozycję Zestaw danych na stronie Wybierz model bazy danych, a następnie wybierz pozycję Dalej.

  6. Na stronie Wybieranie połączenia danych wybierz pozycję Nowe połączenie , aby skonfigurować nowe połączenie danych.

  7. Jeśli źródło danych nie jest plikiem bazy danych programu Microsoft Access (OLE DB), wybierz pozycję Zmień, aby otworzyć okno dialogowe Zmienianie źródła danych, a następnie wybierz pozycję Plik bazy danych programu Microsoft Access, a następnie wybierz przycisk OK.

  8. W polu Nazwa pliku bazy danych określ ścieżkę i nazwę .mdb pliku, z którym chcesz nawiązać połączenie, a następnie wybierz przycisk OK.

    Dodawanie pliku bazy danych programu Connection Access

  9. Wybierz pozycję Dalej na stronie Wybierz połączenie danych.

  10. Wybierz pozycję Dalej na stronie Zapisz parametry połączenia na stronie Plik konfiguracji aplikacji.

  11. Rozwiń węzeł Tabele na stronie Wybieranie obiektów bazy danych.

  12. Wybierz dowolne tabele lub widoki w zestawie danych, a następnie wybierz pozycję Zakończ.

    Zestaw danych jest dodawany do projektu, a tabele i widoki są wyświetlane w oknie Źródła danych.

Wyświetlanie wygenerowanego kodu

Narzędzia danych są konfigurowane do automatycznego generowania dużej ilości kodu podczas wykonywania określonych operacji w Projektancie formularzy. Na przykład podczas przeciągania i upuszczania tabeli na formularzu element zostanie dodany, a DataGridView kod zostanie utworzony w celu podłączenia danych za pomocą kontrolki. Ten kod można wyświetlić w *.Designer.cs pliku. Program Visual Studio dodaje szereg prywatnych członków:

private Database11DataSet database11DataSet;
private System.Windows.Forms.BindingSource ordersBindingSource;
private Database11DataSetTableAdapters.OrdersTableAdapter ordersTableAdapter;
private Database11DataSetTableAdapters.TableAdapterManager tableAdapterManager;
private System.Windows.Forms.BindingNavigator ordersBindingNavigator;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.ToolStripButton ordersBindingNavigatorSaveItem;
private System.Windows.Forms.DataGridView ordersDataGridView;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;

Po rozwinięciu ukrytego regionu można zobaczyć, że program Visual Studio dodaje również dużą ilość kodu w celu skonfigurowania DataGridView kontrolki z powiązaniem danych z tabelą przeciągniętą do formularza.

Ponadto w pliku kodowym formularza głównego program Visual Studio dodaje kod, który przetwarza akcję zapisywania w celu zapisania interakcyjnych zmian w danych oraz kodu, który ładuje tabelę do karty tabeli.

private void ordersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.database11DataSet);

}

private void Form1_Load(object sender, EventArgs e)
{
   // TODO: This line of code loads data into the 'database11DataSet.Orders' table. You can move, or remove it, as needed.
   this.ordersTableAdapter.Fill(this.database11DataSet.Orders);
}

Gratulacje! Za pomocą programu Visual Studio utworzono środowisko edycji oparte na formularzach dla tabeli danych programu Access.

Następne kroki

Utworzony zestaw danych jest dostępny w oknie Źródła danych. Teraz można wykonać dowolne z następujących zadań: