Connettersi a un database di Access nelle applicazioni .NET Framework
Nota
I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.
È possibile connettersi a un database di Access (un .mdb
file o un .accdb
file) usando Visual Studio. Dopo avere definito la connessione, i dati vengono visualizzati nella finestra Origine dati Da qui è possibile trascinare tabelle o visualizzazioni nell'area di progettazione.
Nota
Se si usa Visual Studio per connettersi ai database di Access, è necessario tenere presente che le versioni di Visual Studio precedenti a Visual Studio 2022 sono tutti processi a 32 bit. Ciò significa che alcuni degli strumenti di dati in Visual Studio 2019 e versioni precedenti potranno connettersi solo ai database di Access usando provider di dati a 32 bit.
Se si usa Visual Studio 2022 per connettersi ai database di Access, è necessario tenere presente che Visual Studio 2022 è ora un processo a 64 bit. Ciò significa che alcuni degli strumenti di dati in Visual Studio non saranno in grado di connettersi ai database di Access usando provider di dati a 32 bit.
Se è necessario gestire applicazioni a 32 bit che si connettono ai database di Access, sarà comunque possibile compilare ed eseguire l'applicazione con Visual Studio 2022. Tuttavia, se è necessario usare uno degli strumenti dati di Visual Studio, ad esempio Esplora server, Creazione guidata origine dati o Progettazione set di dati, sarà necessario usare una versione precedente di Visual Studio che è ancora un processo a 32 bit. L'ultima versione di Visual Studio che era un processo a 32 bit era Visual Studio 2019.
Se si prevede di convertire il progetto in un processo a 64 bit, è consigliabile usare il motore di database di Microsoft Access a 64 bit, detto anche Access Connectivity Engine (ACE). Per altre informazioni, vedere Provider OLE DB per Jet e ODBC Driver are 32-bit versions only for Jet and ODBC driver are 32-bit versions only for more information.
Prerequisiti
Per usare queste procedure, è necessario:
- Visual Studio
- Un progetto Windows Form o WPF
- Un database di Access (
.accdb
file) o un database di Access 2000-2003 (.mdb
file). Attenersi alla procedura che corrisponde al tipo di file utilizzato.
Creare un set di dati per un file accdb
Connettersi ai database creati con Microsoft 365, Access 2016, Access 2013, Access 2010 o Access 2007 usando la procedura seguente.
Aprire un progetto di applicazione Windows Form o WPF in Visual Studio.
Per aprire la finestra Origini dati, premere CTRL+Q, immettere "dati" nella casella di ricerca e scegliere la finestra Origini dati. In alternativa, scegliere Altre origini dati di Windows>dal menu Visualizza. In alternativa, premere MAIUSC+ALT+D.
Nella finestra Origini dati fare clic su Aggiungi nuova origine dati.
Viene avviata la Configurazione guidata origine dati.
Selezionare Database nella pagina Scegliere un tipo di origine dati e quindi selezionare Avanti.
Selezionare Set di dati nella pagina Scegliere un modello di database e quindi selezionare Avanti.
Nella pagina Seleziona connessione dati selezionare Nuova connessione per configurare una nuova connessione dati.
Verrà visualizzata la finestra di dialogo Aggiungi connessione.
Se l'origine dati non è impostata su File di database di Microsoft Access, selezionare il pulsante Cambia .
Verrà visualizzata la finestra di dialogo Cambia origine dati. Nell'elenco delle origini dati scegliere File di database di Microsoft Access. L'opzione .NET Framework provider di dati per OLE DB è già selezionata. Scegliere OK.
Scegliere Sfoglia accanto a Nome file di database, quindi passare al
.accdb
file e scegliere Apri.Nota
Se il bitness (32 bit o 64 bit) di Microsoft Office e Visual Studio non corrispondono, verrà visualizzato un errore durante la connessione a un database di Access. In Visual Studio 2019 verrà visualizzato un errore che indica che il provider di database non è registrato. In Visual Studio 2022 verrà visualizzato un errore che non è possibile connettersi a un provider di dati a 32 bit. Per risolvere questo errore, assicurarsi che se si usa una versione a 32 bit di Office, si usa Visual Studio 2019 o versioni precedenti; per una versione a 64 bit di Office, è necessario Visual Studio 2022 o versione successiva.
Immettere un nome utente e una password (se necessario) e quindi scegliere OK.
Selezionare Avanti nella pagina Scegliere la connessione dati.
È possibile che venga visualizzata una finestra di dialogo che indica che il file di dati non si trova nel progetto corrente. Seleziona Sì o No.
Selezionare Avanti nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare le tabelle o le viste da includere nel set di dati e quindi selezionare Fine.
Il dataset viene aggiunto al progetto e le tabelle e le viste vengono visualizzate nella finestra Origini dati.
Nei computer a 64 bit con il motore di database di Access a 64 bit, è necessario assicurarsi che l'applicazione venga eseguita come applicazione a 64 bit. Aprire le proprietà del progetto (premere ALT+INVIO o fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Proprietà). Nella scheda Compilazione deselezionare la casella di controllo Prefer a 32 bit.
Creare un set di dati per un file accdb
Connettersi ai database creati con Microsoft 365, Access 2016, Access 2013, Access 2010 o Access 2007 usando la procedura seguente.
Aprire un progetto di applicazione Windows Form o WPF in Visual Studio.
Per aprire la finestra Origini dati, premere CTRL+Q, immettere "dati" nella casella di ricerca e scegliere la finestra Origini dati. In alternativa, scegliere Altre origini dati di Windows>dal menu Visualizza. In alternativa, premere MAIUSC+ALT+D.
Nella finestra Origini dati fare clic su Aggiungi nuova origine dati.
Viene avviata la Configurazione guidata origine dati.
Selezionare Database nella pagina Scegliere un tipo di origine dati e quindi selezionare Avanti.
Selezionare Set di dati nella pagina Scegliere un modello di database e quindi selezionare Avanti.
Nella pagina Seleziona connessione dati selezionare Nuova connessione per configurare una nuova connessione dati.
Verrà visualizzata la finestra di dialogo Aggiungi connessione.
Se l'origine dati non è impostata su File di database di Microsoft Access, selezionare il pulsante Cambia .
Verrà visualizzata la finestra di dialogo Cambia origine dati. Nell'elenco delle origini dati scegliere File di database di Microsoft Access. L'opzione .NET Framework provider di dati per OLE DB è già selezionata. Scegliere OK.
Scegliere Sfoglia accanto a Nome file di database, quindi passare al
.accdb
file e scegliere Apri.Nota
Se il bitness (32 bit o 64 bit) di Microsoft Office e Visual Studio non corrispondono, verrà visualizzato un errore durante la connessione a un database di Access. In Visual Studio 2019 verrà visualizzato un errore che indica che il provider di database non è registrato. In Visual Studio 2022 verrà visualizzato un errore che non è possibile connettersi a un provider di dati a 32 bit. Per risolvere questo errore, assicurarsi che se si usa una versione a 32 bit di Office, si usa Visual Studio 2019 o versioni precedenti; per una versione a 64 bit di Office, è necessario Visual Studio 2022 o versione successiva.
Immettere un nome utente e una password (se necessario) e quindi scegliere OK.
Selezionare Avanti nella pagina Scegliere la connessione dati.
È possibile che venga visualizzata una finestra di dialogo che indica che il file di dati non si trova nel progetto corrente. Seleziona Sì o No.
Selezionare Avanti nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare le tabelle o le viste da includere nel set di dati e quindi selezionare Fine.
Il dataset viene aggiunto al progetto e le tabelle e le viste vengono visualizzate nella finestra Origini dati.
Creare un set di dati per un file .mdb
Connettersi ai database creati con Access 2000-2003 usando la procedura seguente.
Aprire un progetto di applicazione Windows Form o WPF in Visual Studio.
Scegliere Altre origini dati di Windows>dal menu Visualizza.
Nella finestra Origini dati fare clic su Aggiungi nuova origine dati.
Viene avviata la Configurazione guidata origine dati.
Selezionare Database nella pagina Scegliere un tipo di origine dati e quindi selezionare Avanti.
Selezionare Set di dati nella pagina Scegliere un modello di database e quindi selezionare Avanti.
Nella pagina Seleziona connessione dati selezionare Nuova connessione per configurare una nuova connessione dati.
Se l'origine dati non è File di database di Microsoft Access (OLE DB), selezionare Modifica per aprire la finestra di dialogo Modifica origine dati e selezionare File di database di Microsoft Access e quindi selezionare OK.
In Nome file di database specificare il percorso e il nome del
.mdb
file a cui connettersi e quindi selezionare OK.Selezionare Avanti nella pagina Scegliere la connessione dati.
Selezionare Avanti nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare le tabelle o le viste desiderate nel set di dati e quindi selezionare Fine.
Il dataset viene aggiunto al progetto e le tabelle e le viste vengono visualizzate nella finestra Origini dati.
Visualizzare il codice generato
Gli strumenti dati sono configurati per generare automaticamente un sacco di codice quando si eseguono determinate operazioni in Progettazione moduli. Ad esempio, quando si trascina e si rilascia una tabella nel form, viene aggiunto un DataGridView
oggetto e viene creato il codice per associare i dati al controllo . È possibile visualizzare questo codice nel *.Designer.cs
file. Visual Studio aggiunge diversi membri privati:
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;
Se si espande l'area nascosta, si noterà che Visual Studio aggiunge anche una grande quantità di codice per configurare il controllo con il DataGridView
data binding alla tabella trascinata nel form.
Inoltre, nel file code-behind del modulo principale, Visual Studio aggiunge codice che elabora l'azione di salvataggio per salvare le modifiche interattive ai dati e il codice che carica la tabella nell'adattatore di tabella.
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);
}
Complimenti. Con una piccola guida di Visual Studio, è stata creata un'esperienza di modifica basata su form per una tabella dati di Access.
Passaggi successivi
Il set di dati appena creato è disponibile nella finestra Origini dati. A questo punto è possibile eseguire una delle attività seguenti:
Selezionare gli elementi nella finestra Origini dati e trascinarli nell'area di progettazione o nella maschera. Vedere Associare controlli Windows Form ai dati in Visual Studio o panoramica del data binding WPF.
Aprire l'origine dati in Progettazione DataSet per aggiungere o modificare gli oggetti che costituiscono il set di dati.
Aggiungere la logica di convalida all'evento ColumnChanging o RowChanging delle tabelle di dati nel set di dati . Vedere Convalidare i dati nei set di dati.